diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index 82261eccb85..d8b7f9d32ab 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -65,7 +65,7 @@ task: CPUS: 4 BUILD_JOBS: 8 TEST_JOBS: 8 - IMAGE_FAMILY: pg-ci-bullseye + IMAGE_FAMILY: pg-ci-bookworm CCACHE_DIR: ${CIRRUS_WORKING_DIR}/ccache_dir # no options enabled, should be small CCACHE_MAXSIZE: "150M" @@ -241,7 +241,7 @@ task: CPUS: 4 BUILD_JOBS: 4 TEST_JOBS: 8 # experimentally derived to be a decent choice - IMAGE_FAMILY: pg-ci-bullseye + IMAGE_FAMILY: pg-ci-bookworm CCACHE_DIR: /tmp/ccache_dir DEBUGINFOD_URLS: "https://debuginfod.debian.net" @@ -312,7 +312,7 @@ task: #DEBIAN_FRONTEND=noninteractive apt-get -y install ... matrix: - - name: Linux - Debian Bullseye - Autoconf + - name: Linux - Debian Bookworm - Autoconf env: SANITIZER_FLAGS: -fsanitize=address @@ -346,7 +346,7 @@ task: on_failure: <<: *on_failure_ac - - name: Linux - Debian Bullseye - Meson + - name: Linux - Debian Bookworm - Meson env: CCACHE_MAXSIZE: "400M" # tests two different builds @@ -373,7 +373,7 @@ task: ${LINUX_MESON_FEATURES} \ -Dllvm=disabled \ --pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \ - -DPERL=perl5.32-i386-linux-gnu \ + -DPERL=perl5.36-i386-linux-gnu \ -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \ build-32 EOF @@ -409,7 +409,7 @@ task: task: - name: macOS - Ventura - Meson + name: macOS - Sonoma - Meson env: CPUS: 4 # always get that much for cirrusci macOS instances @@ -418,7 +418,7 @@ task: # work OK. See # https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de TEST_JOBS: 8 - IMAGE: ghcr.io/cirruslabs/macos-ventura-base:latest + IMAGE: ghcr.io/cirruslabs/macos-runner:sonoma CIRRUS_WORKING_DIR: ${HOME}/pgsql/ CCACHE_DIR: ${HOME}/ccache @@ -456,6 +456,13 @@ task: # updates macports every time. macports_cache: folder: ${MACPORTS_CACHE} + fingerprint_script: | + # Include the OS major version in the cache key. If the OS image changes + # to a different major version, we need to reinstall. + sw_vers -productVersion | sed 's/\..*//' + # Also start afresh if we change our MacPorts install script. + md5 src/tools/ci/ci_macports_packages.sh + reupload_on_changes: true setup_additional_packages_script: | sh src/tools/ci/ci_macports_packages.sh \ ccache \ @@ -516,6 +523,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE PG_TEST_USE_UNIX_SOCKETS: 1 PG_REGRESS_SOCK_DIR: "c:/cirrus/" DISK_SIZE: 50 + IMAGE_FAMILY: pg-ci-windows-ci sysinfo_script: | chcp @@ -539,7 +547,6 @@ task: # given that it explicitly prevents crash dumps from working... # 0x8001 is SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX CIRRUS_WINDOWS_ERROR_MODE: 0x8001 - IMAGE_FAMILY: pg-ci-windows-ci-vs-2019 <<: *windows_task_template @@ -600,7 +607,6 @@ task: # Start bash in current working directory CHERE_INVOKING: 1 BASH: C:\msys64\usr\bin\bash.exe -l - IMAGE_FAMILY: pg-ci-windows-ci-mingw64 <<: *windows_task_template @@ -648,7 +654,7 @@ task: env: CPUS: 4 BUILD_JOBS: 4 - IMAGE_FAMILY: pg-ci-bullseye + IMAGE_FAMILY: pg-ci-bookworm # Use larger ccache cache, as this task compiles with multiple compilers / # flag combinations diff --git a/configure b/configure index 68e04f41886..71155f46e0d 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 16.3. +# Generated by GNU Autoconf 2.69 for PostgreSQL 16.4. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='16.3' -PACKAGE_STRING='PostgreSQL 16.3' +PACKAGE_VERSION='16.4' +PACKAGE_STRING='PostgreSQL 16.4' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1448,7 +1448,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 16.3 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 16.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1513,7 +1513,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 16.3:";; + short | recursive ) echo "Configuration of PostgreSQL 16.4:";; esac cat <<\_ACEOF @@ -1688,7 +1688,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 16.3 +PostgreSQL configure 16.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2441,7 +2441,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 16.3, which was +It was created by PostgreSQL $as_me 16.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -13009,12 +13009,13 @@ fi done # Function introduced in OpenSSL 1.1.1. - for ac_func in X509_get_signature_info + for ac_func in X509_get_signature_info SSL_CTX_set_num_tickets do : - ac_fn_c_check_func "$LINENO" "X509_get_signature_info" "ac_cv_func_X509_get_signature_info" -if test "x$ac_cv_func_X509_get_signature_info" = xyes; then : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_X509_GET_SIGNATURE_INFO 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi @@ -19968,7 +19969,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 16.3, which was +This file was extended by PostgreSQL $as_me 16.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20039,7 +20040,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 16.3 +PostgreSQL config.status 16.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 350d1159c06..bf0cfdf2ba9 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], [16.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [16.4], [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 @@ -1391,7 +1391,7 @@ if test "$with_ssl" = openssl ; then # function was removed. AC_CHECK_FUNCS([CRYPTO_lock]) # Function introduced in OpenSSL 1.1.1. - AC_CHECK_FUNCS([X509_get_signature_info]) + AC_CHECK_FUNCS([X509_get_signature_info SSL_CTX_set_num_tickets]) AC_DEFINE([USE_OPENSSL], 1, [Define to 1 to build with OpenSSL support. (--with-ssl=openssl)]) elif test "$with_ssl" != no ; then AC_MSG_ERROR([--with-ssl must specify openssl]) diff --git a/contrib/citext/expected/citext_utf8.out b/contrib/citext/expected/citext_utf8.out index 6630e09a4de..65bb70a79f9 100644 --- a/contrib/citext/expected/citext_utf8.out +++ b/contrib/citext/expected/citext_utf8.out @@ -6,8 +6,11 @@ * Turkish dotted I is not correct for many ICU locales. citext always * uses the default collation, so it's not easy to restrict the test * to the "tr-TR-x-icu" collation where it will succeed. + * + * Also disable for Windows. It fails similarly, at least in some locales. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR (SELECT (datlocprovider = 'c' AND datctype = 'C') OR datlocprovider = 'i' FROM pg_database WHERE datname=current_database()) diff --git a/contrib/citext/expected/citext_utf8_1.out b/contrib/citext/expected/citext_utf8_1.out index 3caa7a00d42..525ad173914 100644 --- a/contrib/citext/expected/citext_utf8_1.out +++ b/contrib/citext/expected/citext_utf8_1.out @@ -6,8 +6,11 @@ * Turkish dotted I is not correct for many ICU locales. citext always * uses the default collation, so it's not easy to restrict the test * to the "tr-TR-x-icu" collation where it will succeed. + * + * Also disable for Windows. It fails similarly, at least in some locales. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR (SELECT (datlocprovider = 'c' AND datctype = 'C') OR datlocprovider = 'i' FROM pg_database WHERE datname=current_database()) diff --git a/contrib/citext/sql/citext_utf8.sql b/contrib/citext/sql/citext_utf8.sql index 1f51df134bf..8c2ceca9558 100644 --- a/contrib/citext/sql/citext_utf8.sql +++ b/contrib/citext/sql/citext_utf8.sql @@ -6,9 +6,12 @@ * Turkish dotted I is not correct for many ICU locales. citext always * uses the default collation, so it's not easy to restrict the test * to the "tr-TR-x-icu" collation where it will succeed. + * + * Also disable for Windows. It fails similarly, at least in some locales. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR (SELECT (datlocprovider = 'c' AND datctype = 'C') OR datlocprovider = 'i' FROM pg_database WHERE datname=current_database()) diff --git a/contrib/pg_stat_statements/expected/level_tracking.out b/contrib/pg_stat_statements/expected/level_tracking.out index d924c87b41e..0a059c4970e 100644 --- a/contrib/pg_stat_statements/expected/level_tracking.out +++ b/contrib/pg_stat_statements/expected/level_tracking.out @@ -67,6 +67,51 @@ SELECT toplevel, calls, query FROM pg_stat_statements t | 1 | SET pg_stat_statements.track = 'all' (7 rows) +-- Procedure with multiple utility statements. +CREATE OR REPLACE PROCEDURE proc_with_utility_stmt() +LANGUAGE SQL +AS $$ + SHOW pg_stat_statements.track; + show pg_stat_statements.track; + SHOW pg_stat_statements.track_utility; +$$; +SET pg_stat_statements.track_utility = TRUE; +-- all-level tracking. +SET pg_stat_statements.track = 'all'; +SELECT pg_stat_statements_reset() IS NOT NULL AS t; + t +--- + t +(1 row) + +CALL proc_with_utility_stmt(); +SELECT toplevel, calls, query FROM pg_stat_statements + ORDER BY query COLLATE "C", toplevel; + toplevel | calls | query +----------+-------+---------------------------------------------------- + t | 1 | CALL proc_with_utility_stmt() + t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t + f | 2 | SHOW pg_stat_statements.track + f | 1 | SHOW pg_stat_statements.track_utility +(4 rows) + +-- top-level tracking. +SET pg_stat_statements.track = 'top'; +SELECT pg_stat_statements_reset() IS NOT NULL AS t; + t +--- + t +(1 row) + +CALL proc_with_utility_stmt(); +SELECT toplevel, calls, query FROM pg_stat_statements + ORDER BY query COLLATE "C", toplevel; + toplevel | calls | query +----------+-------+---------------------------------------------------- + t | 1 | CALL proc_with_utility_stmt() + t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t +(2 rows) + -- PL/pgSQL function - top-level tracking. SET pg_stat_statements.track = 'top'; SET pg_stat_statements.track_utility = FALSE; diff --git a/contrib/pg_stat_statements/sql/level_tracking.sql b/contrib/pg_stat_statements/sql/level_tracking.sql index 0c20b8ce69b..51b7bd360de 100644 --- a/contrib/pg_stat_statements/sql/level_tracking.sql +++ b/contrib/pg_stat_statements/sql/level_tracking.sql @@ -33,6 +33,28 @@ END; $$; SELECT toplevel, calls, query FROM pg_stat_statements ORDER BY query COLLATE "C", toplevel; +-- Procedure with multiple utility statements. +CREATE OR REPLACE PROCEDURE proc_with_utility_stmt() +LANGUAGE SQL +AS $$ + SHOW pg_stat_statements.track; + show pg_stat_statements.track; + SHOW pg_stat_statements.track_utility; +$$; +SET pg_stat_statements.track_utility = TRUE; +-- all-level tracking. +SET pg_stat_statements.track = 'all'; +SELECT pg_stat_statements_reset() IS NOT NULL AS t; +CALL proc_with_utility_stmt(); +SELECT toplevel, calls, query FROM pg_stat_statements + ORDER BY query COLLATE "C", toplevel; +-- top-level tracking. +SET pg_stat_statements.track = 'top'; +SELECT pg_stat_statements_reset() IS NOT NULL AS t; +CALL proc_with_utility_stmt(); +SELECT toplevel, calls, query FROM pg_stat_statements + ORDER BY query COLLATE "C", toplevel; + -- PL/pgSQL function - top-level tracking. SET pg_stat_statements.track = 'top'; SET pg_stat_statements.track_utility = FALSE; diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index 87c634366f6..9b7a7eed057 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 -- =================================================================== @@ -1047,6 +1058,27 @@ SELECT * FROM ft1 t1 WHERE t1.c1 === t1.c2 order by t1.c2 limit 1; 1 | 1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1 | 1 | foo (1 row) +-- Ensure we don't ship FETCH FIRST .. WITH TIES +EXPLAIN (VERBOSE, COSTS OFF) +SELECT t1.c2 FROM ft1 t1 WHERE t1.c1 > 960 ORDER BY t1.c2 FETCH FIRST 2 ROWS WITH TIES; + QUERY PLAN +------------------------------------------------------------------------------------------------- + Limit + Output: c2 + -> Foreign Scan on public.ft1 t1 + Output: c2 + Remote SQL: SELECT c2 FROM "S 1"."T 1" WHERE (("C 1" > 960)) ORDER BY c2 ASC NULLS LAST +(5 rows) + +SELECT t1.c2 FROM ft1 t1 WHERE t1.c1 > 960 ORDER BY t1.c2 FETCH FIRST 2 ROWS WITH TIES; + c2 +---- + 0 + 0 + 0 + 0 +(4 rows) + -- Test CASE pushdown EXPLAIN (VERBOSE, COSTS OFF) SELECT c1,c2,c3 FROM ft2 WHERE CASE WHEN c1 > 990 THEN c1 END < 1000 ORDER BY c1; @@ -6558,6 +6590,51 @@ SELECT * FROM ft1 ORDER BY c6 ASC NULLS FIRST, c1 OFFSET 15 LIMIT 10; 40 | 42 | 00040_trig_update | Tue Feb 10 00:00:00 1970 PST | Tue Feb 10 00:00:00 1970 | 0 | 0 | foo (10 rows) +-- Test ReScan code path that recreates the cursor even when no parameters +-- change (bug #17889) +CREATE TABLE loct1 (c1 int); +CREATE TABLE loct2 (c1 int, c2 text); +INSERT INTO loct1 VALUES (1001); +INSERT INTO loct1 VALUES (1002); +INSERT INTO loct2 SELECT id, to_char(id, 'FM0000') FROM generate_series(1, 1000) id; +INSERT INTO loct2 VALUES (1001, 'foo'); +INSERT INTO loct2 VALUES (1002, 'bar'); +CREATE FOREIGN TABLE remt2 (c1 int, c2 text) SERVER loopback OPTIONS (table_name 'loct2'); +ANALYZE loct1; +ANALYZE remt2; +SET enable_mergejoin TO false; +SET enable_hashjoin TO false; +SET enable_material TO false; +EXPLAIN (VERBOSE, COSTS OFF) +UPDATE remt2 SET c2 = remt2.c2 || remt2.c2 FROM loct1 WHERE loct1.c1 = remt2.c1 RETURNING remt2.*; + QUERY PLAN +-------------------------------------------------------------------------------- + Update on public.remt2 + Output: remt2.c1, remt2.c2 + Remote SQL: UPDATE public.loct2 SET c2 = $2 WHERE ctid = $1 RETURNING c1, c2 + -> Nested Loop + Output: (remt2.c2 || remt2.c2), remt2.ctid, remt2.*, loct1.ctid + Join Filter: (remt2.c1 = loct1.c1) + -> Seq Scan on public.loct1 + Output: loct1.ctid, loct1.c1 + -> Foreign Scan on public.remt2 + Output: remt2.c2, remt2.ctid, remt2.*, remt2.c1 + Remote SQL: SELECT c1, c2, ctid FROM public.loct2 FOR UPDATE +(11 rows) + +UPDATE remt2 SET c2 = remt2.c2 || remt2.c2 FROM loct1 WHERE loct1.c1 = remt2.c1 RETURNING remt2.*; + c1 | c2 +------+-------- + 1001 | foofoo + 1002 | barbar +(2 rows) + +RESET enable_mergejoin; +RESET enable_hashjoin; +RESET enable_material; +DROP FOREIGN TABLE remt2; +DROP TABLE loct1; +DROP TABLE loct2; -- =================================================================== -- test check constraints -- =================================================================== diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c index 23a57104e85..8657a3b0e23 100644 --- a/contrib/postgres_fdw/postgres_fdw.c +++ b/contrib/postgres_fdw/postgres_fdw.c @@ -1659,9 +1659,12 @@ postgresReScanForeignScan(ForeignScanState *node) /* * If any internal parameters affecting this node have changed, we'd - * better destroy and recreate the cursor. Otherwise, rewinding it should - * be good enough. If we've only fetched zero or one batch, we needn't - * even rewind the cursor, just rescan what we have. + * better destroy and recreate the cursor. Otherwise, if the remote + * server is v14 or older, rewinding it should be good enough; if not, + * rewind is only allowed for scrollable cursors, but we don't have a way + * to check the scrollability of it, so destroy and recreate it in any + * case. If we've only fetched zero or one batch, we needn't even rewind + * the cursor, just rescan what we have. */ if (node->ss.ps.chgParam != NULL) { @@ -1671,8 +1674,15 @@ postgresReScanForeignScan(ForeignScanState *node) } else if (fsstate->fetch_ct_2 > 1) { - snprintf(sql, sizeof(sql), "MOVE BACKWARD ALL IN c%u", - fsstate->cursor_number); + if (PQserverVersion(fsstate->conn) < 150000) + snprintf(sql, sizeof(sql), "MOVE BACKWARD ALL IN c%u", + fsstate->cursor_number); + else + { + fsstate->cursor_exists = false; + snprintf(sql, sizeof(sql), "CLOSE c%u", + fsstate->cursor_number); + } } else { @@ -7045,6 +7055,20 @@ add_foreign_final_paths(PlannerInfo *root, RelOptInfo *input_rel, if (ifpinfo->local_conds) return; + /* + * If the query has FETCH FIRST .. WITH TIES, 1) it must have ORDER BY as + * well, which is used to determine which additional rows tie for the last + * place in the result set, and 2) ORDER BY must already have been + * determined to be safe to push down before we get here. So in that case + * the FETCH clause is safe to push down with ORDER BY if the remote + * server is v13 or later, but if not, the remote query will fail entirely + * for lack of support for it. Since we do not currently have a way to do + * a remote-version check (without accessing the remote server), disable + * pushing the FETCH clause for now. + */ + if (parse->limitOption == LIMIT_OPTION_WITH_TIES) + return; + /* * Also, the LIMIT/OFFSET cannot be pushed down, if their expressions are * not safe to remote. diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql index 3b863ece1af..80cc3f9d8e7 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 -- =================================================================== @@ -408,6 +416,11 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE t1.c1 === t1.c2 order by t1.c2 limit 1; SELECT * FROM ft1 t1 WHERE t1.c1 === t1.c2 order by t1.c2 limit 1; +-- Ensure we don't ship FETCH FIRST .. WITH TIES +EXPLAIN (VERBOSE, COSTS OFF) +SELECT t1.c2 FROM ft1 t1 WHERE t1.c1 > 960 ORDER BY t1.c2 FETCH FIRST 2 ROWS WITH TIES; +SELECT t1.c2 FROM ft1 t1 WHERE t1.c1 > 960 ORDER BY t1.c2 FETCH FIRST 2 ROWS WITH TIES; + -- Test CASE pushdown EXPLAIN (VERBOSE, COSTS OFF) SELECT c1,c2,c3 FROM ft2 WHERE CASE WHEN c1 > 990 THEN c1 END < 1000 ORDER BY c1; @@ -1506,6 +1519,31 @@ SELECT * FROM ft1 ORDER BY c6 DESC NULLS FIRST, c1 OFFSET 15 LIMIT 10; EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 ORDER BY c6 ASC NULLS FIRST, c1 OFFSET 15 LIMIT 10; SELECT * FROM ft1 ORDER BY c6 ASC NULLS FIRST, c1 OFFSET 15 LIMIT 10; +-- Test ReScan code path that recreates the cursor even when no parameters +-- change (bug #17889) +CREATE TABLE loct1 (c1 int); +CREATE TABLE loct2 (c1 int, c2 text); +INSERT INTO loct1 VALUES (1001); +INSERT INTO loct1 VALUES (1002); +INSERT INTO loct2 SELECT id, to_char(id, 'FM0000') FROM generate_series(1, 1000) id; +INSERT INTO loct2 VALUES (1001, 'foo'); +INSERT INTO loct2 VALUES (1002, 'bar'); +CREATE FOREIGN TABLE remt2 (c1 int, c2 text) SERVER loopback OPTIONS (table_name 'loct2'); +ANALYZE loct1; +ANALYZE remt2; +SET enable_mergejoin TO false; +SET enable_hashjoin TO false; +SET enable_material TO false; +EXPLAIN (VERBOSE, COSTS OFF) +UPDATE remt2 SET c2 = remt2.c2 || remt2.c2 FROM loct1 WHERE loct1.c1 = remt2.c1 RETURNING remt2.*; +UPDATE remt2 SET c2 = remt2.c2 || remt2.c2 FROM loct1 WHERE loct1.c1 = remt2.c1 RETURNING remt2.*; +RESET enable_mergejoin; +RESET enable_hashjoin; +RESET enable_material; +DROP FOREIGN TABLE remt2; +DROP TABLE loct1; +DROP TABLE loct2; + -- =================================================================== -- test check constraints -- =================================================================== diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile index c7ce6037064..a4ba1a509ae 100644 --- a/contrib/test_decoding/Makefile +++ b/contrib/test_decoding/Makefile @@ -8,7 +8,8 @@ REGRESS = ddl xact rewrite toast permissions decoding_in_xact \ spill slot truncate stream stats twophase twophase_stream ISOLATION = mxact delayed_startup ondisk_startup concurrent_ddl_dml \ oldest_xmin snapshot_transfer subxact_without_top concurrent_stream \ - twophase_snapshot slot_creation_error catalog_change_snapshot + twophase_snapshot slot_creation_error catalog_change_snapshot \ + skip_snapshot_restore REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf ISOLATION_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf diff --git a/contrib/test_decoding/expected/skip_snapshot_restore.out b/contrib/test_decoding/expected/skip_snapshot_restore.out new file mode 100644 index 00000000000..c64dbd9c4e0 --- /dev/null +++ b/contrib/test_decoding/expected/skip_snapshot_restore.out @@ -0,0 +1,45 @@ +Parsed test spec with 3 sessions + +starting permutation: s0_init s0_begin s0_insert1 s1_init s2_checkpoint s2_get_changes_slot0 s0_insert2 s0_commit s1_get_changes_slot0 s1_get_changes_slot1 +step s0_init: SELECT 'init' FROM pg_create_logical_replication_slot('slot0', 'test_decoding'); +?column? +-------- +init +(1 row) + +step s0_begin: BEGIN; +step s0_insert1: INSERT INTO tbl VALUES (1); +step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('slot1', 'test_decoding'); +step s2_checkpoint: CHECKPOINT; +step s2_get_changes_slot0: SELECT data FROM pg_logical_slot_get_changes('slot0', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); +data +---- +(0 rows) + +step s0_insert2: INSERT INTO tbl VALUES (2); +step s0_commit: COMMIT; +step s1_init: <... completed> +?column? +-------- +init +(1 row) + +step s1_get_changes_slot0: SELECT data FROM pg_logical_slot_get_changes('slot0', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); +data +----------------------------------------- +BEGIN +table public.tbl: INSERT: val1[integer]:1 +table public.tbl: INSERT: val1[integer]:2 +COMMIT +(4 rows) + +step s1_get_changes_slot1: SELECT data FROM pg_logical_slot_get_changes('slot1', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); +data +---- +(0 rows) + +?column? +-------- +stop +(1 row) + diff --git a/contrib/test_decoding/meson.build b/contrib/test_decoding/meson.build index 7b05cc25a36..2dd3ede41bf 100644 --- a/contrib/test_decoding/meson.build +++ b/contrib/test_decoding/meson.build @@ -62,6 +62,7 @@ tests += { 'concurrent_stream', 'twophase_snapshot', 'slot_creation_error', + 'skip_snapshot_restore', ], 'regress_args': [ '--temp-config', files('logical.conf'), diff --git a/contrib/test_decoding/specs/skip_snapshot_restore.spec b/contrib/test_decoding/specs/skip_snapshot_restore.spec new file mode 100644 index 00000000000..3f1fb6f02c7 --- /dev/null +++ b/contrib/test_decoding/specs/skip_snapshot_restore.spec @@ -0,0 +1,46 @@ +# Test that a slot creation skips to restore serialized snapshot to reach +# the consistent state. + +setup +{ + DROP TABLE IF EXISTS tbl; + CREATE TABLE tbl (val1 integer); +} + +teardown +{ + DROP TABLE tbl; + SELECT 'stop' FROM pg_drop_replication_slot('slot0'); + SELECT 'stop' FROM pg_drop_replication_slot('slot1'); +} + +session "s0" +setup { SET synchronous_commit = on; } +step "s0_init" { SELECT 'init' FROM pg_create_logical_replication_slot('slot0', 'test_decoding'); } +step "s0_begin" { BEGIN; } +step "s0_insert1" { INSERT INTO tbl VALUES (1); } +step "s0_insert2" { INSERT INTO tbl VALUES (2); } +step "s0_commit" { COMMIT; } + +session "s1" +setup { SET synchronous_commit = on; } +step "s1_init" { SELECT 'init' FROM pg_create_logical_replication_slot('slot1', 'test_decoding'); } +step "s1_get_changes_slot0" { SELECT data FROM pg_logical_slot_get_changes('slot0', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); } +step "s1_get_changes_slot1" { SELECT data FROM pg_logical_slot_get_changes('slot1', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); } + +session "s2" +setup { SET synchronous_commit = on ;} +step "s2_checkpoint" { CHECKPOINT; } +step "s2_get_changes_slot0" { SELECT data FROM pg_logical_slot_get_changes('slot0', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); } + + +# While 'slot1' creation by "s1_init" waits for s0-transaction to commit, the +# RUNNING_XACTS record is written by "s2_checkpoint" and "s2_get_changes_slot1" +# serializes consistent snapshots to the disk at LSNs where are before +# s0-transaction's commit. After s0-transaction commits, "s1_init" resumes but +# must not restore any serialized snapshots and will reach the consistent state +# when decoding a RUNNING_XACT record generated after s0-transaction's commit. +# We check if the get_changes on 'slot1' will not return any s0-transaction's +# changes as its confirmed_flush_lsn will be after the s0-transaction's commit +# record. +permutation "s0_init" "s0_begin" "s0_insert1" "s1_init" "s2_checkpoint" "s2_get_changes_slot0" "s0_insert2" "s0_commit" "s1_get_changes_slot0" "s1_get_changes_slot1" diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml index 5d4fdd2408c..8aeccaf26f3 100644 --- a/doc/src/sgml/client-auth.sgml +++ b/doc/src/sgml/client-auth.sgml @@ -1179,18 +1179,12 @@ host all all ::1/128 trust # TYPE DATABASE USER ADDRESS METHOD host all all localhost trust - -# DATABASEに対して正規表現を使って同じことを行う。データベースdb1、db2と、 -# 「db」で始まり(「db1234」や「db12」のような)2から4個の数字を使った番号で終わるデータベースへ -# 接続することを許可。 +# to any databases with a name beginning with "db" and finishing with a +# number using two to four digits (like "db1234" or "db12"). # -# TYPE DATABASE USER ADDRESS METHOD -local db1,"/^db\d{2,4}$",db2 all localhost trust +# TYPE DATABASE USER ADDRESS METHOD +host "/^db\d{2,4}$" all localhost trust -古いバージョンのPostgreSQLにはこの設定がなく、常にクライアントの設定を使います。 +《マッチ度[77.070064]》古いバージョンのPostgreSQLにはこの設定がなく、常にクライアントの設定を使います。 この設定は、主に古いバージョンとの互換性のために設けられています。 通常サーバの設定に従うほうが良いです。大抵の場合、サーバはより適切に設定されているからです。 +《機械翻訳》PostgreSQLバージョン前9.4にはこの設定がなく、常にクライアントのプリファレンスが使用されます。 +この設定は主に、これらのバージョンの下位互換性用です。 +サーバが適切に構成されている可能性が高いため、通常はサーバのプリファレンスを使用することをお勧めします。 @@ -8035,14 +8038,26 @@ WALレコードは、適用される準備が整うまでスタンバイに保 joining the matching partitions. Partitionwise join currently applies only when the join conditions include all the partition keys, which must be of the same data type and have one-to-one matching sets of - child partitions. Because partitionwise join planning can use - significantly more CPU time and memory during planning, the default is - off. ---> -パーティション同士の結合(partitionwise join)を問い合わせプランナが使用するのを有効あるいは無効にします。 + child partitions. With this setting enabled, the number of nodes + whose memory usage is restricted by work_mem + appearing in the final plan can increase linearly according to the + number of partitions being scanned. This can result in a large + increase in overall memory consumption during the execution of the + query. Query planning also becomes significantly more expensive in + terms of memory and CPU. The default value is off. +--> +《マッチ度[52.750000]》パーティション同士の結合(partitionwise join)を問い合わせプランナが使用するのを有効あるいは無効にします。 パーティション同士の結合は、適合するパーティションを結合することによって実行される、パーティション化テーブルにまたがる結合を可能にします。 今の所、パーティション同士の結合は、すべてのパーティションキーを含んでいて、かつパーティションキーの型が同じで、一対一で一致する子パーティションの集合を持つ結合条件のときだけに適用されます。 パーティション同士の結合のプランニングには大量のCPU時間とメモリが使用されることがあるので、デフォルトはoffです。 +《機械翻訳》クエリプランナでのパーティションワイズ結合の使用を有効または無効にします。 +これにより、テーブルパーティションパーティションを結合することによってマッチング間の結合を実行できます。 +現在、パーティション単位の結合が適用されるのは、結合条件によってすべてのパーティションキーがincludeされる場合だけです。 +これらのキーは、同じデータタイプで、1対1のマッチングセットの子パーティションを持つ必要があります。 +この設定を有効にすると、最終プランに表示されるwork_memによってメモリ使用が制限されるノードの数は、スキャンされるパーティションの数に応じて直線的に増加します。 +これは、ラージの実行中に全体的なメモリ消費のクエリ増加をもたらす可能性がある。 +また、クエリ・プランニングは、メモリとCPU使用率の点でも非常に高価になります。 +デフォルト値はオフです。 @@ -8064,14 +8079,25 @@ WALレコードは、適用される準備が整うまでスタンバイに保 tables to be performed separately for each partition. If the GROUP BY clause does not include the partition keys, only partial aggregation can be performed on a per-partition - basis, and finalization must be performed later. Because - partitionwise grouping or aggregation can use significantly more CPU - time and memory during planning, the default is + basis, and finalization must be performed later. With this setting + enabled, the number of nodes whose memory usage is restricted by + work_mem appearing in the final plan can increase + linearly according to the number of partitions being scanned. This + can result in a large increase in overall memory consumption during + the execution of the query. Query planning also becomes significantly + more expensive in terms of memory and CPU. The default value is off. --> -パーティション化されたテーブルに対してグループ化または集約を個別に実行できるように、問い合わせプランナのパーティションごと(partitionwise)のグループ化または集約の使用を有効または無効にします。 +《マッチ度[54.666667]》パーティション化されたテーブルに対してグループ化または集約を個別に実行できるように、問い合わせプランナのパーティションごと(partitionwise)のグループ化または集約の使用を有効または無効にします。 GROUP BY句がパーティションキーを含まない場合は、パーティション単位で部分集約だけが実行でき、最終結果の算出は後で行われます。 パーティション同士のグループ化あるいは集約には大量のCPU時間とメモリが使用されることがあるので、デフォルトはoffです。 +《機械翻訳》クエリープランナによる区分ごとのグループ化または集約の使用を有効または無効にします。 +これにより、テーブルパーティションでのグループ化または集約をパーティションごとに個別に実行できます。 +GROUP BY句がパーティションキーをincludeしない場合は、パーティションごとに部分集約だけを実行でき、後でファイナライズを実行する必要があります。 +この設定を有効にすると、最終プランに表示されるwork_memによってメモリ使用が制限されるノードの数は、スキャンされるパーティションの数に応じて直線的に増加します。 +これは、ラージの実行中に全体的なメモリ消費のクエリ増加をもたらす可能性がある。 +また、クエリ・プランニングは、メモリとCPU使用率の点でも非常に高価になります。 +デフォルト値はオフです。 @@ -12152,7 +12178,9 @@ NULL値を持つ文字列フィールドは出力から除外されます。 measure the overhead of timing on your system. I/O timing information is displayed in - pg_stat_database, in the output of + pg_stat_database, + + pg_stat_io, in the output of when the BUFFERS option is used, in the output of when the VERBOSE option is used, by autovacuum @@ -12162,12 +12190,17 @@ NULL値を持つ文字列フィールドは出力から除外されます。 Only superusers and users with the appropriate SET privilege can change this setting. --> -データベースによるI/O呼び出しの記録を有効にします。 +《マッチ度[78.556911]》データベースによるI/O呼び出しの記録を有効にします。 このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 使用しているシステムにおける記録の負荷を計測するためツールが使用できます。 I/O呼び出し情報は、pg_stat_databaseに表示されます。 BUFFERSオプションが設定されている時は の出力、VERBOSEオプションが設定されている時はの出力、が設定されている時はにより表示されます。 スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 +《機械翻訳》データベース入出力コールのタイミングをイネーブルにします。 +このパラメータはデフォルトによるオフであり、現在時間にオペレーティングシステムを繰り返しクエリするため、一部のプラットフォームでは重大なオーバーヘッドが発生する可能性があります。 +ツールを使用して、システムのタイミングのオーバーヘッドを計測できます。 +入出力タイミング情報はpg_stat_データベースpg_stat_ioBUFFERSオプションが使用されている場合はの出力に、VERBOSEオプションが使用されている場合はの出力に、が設定されている場合は自動バキュームと自動解析のオートバキューム別に、そして別に表示されます。 +この設定を変更できるのは、スーパーユーザおよび適切なSET権限を持つユーザのみです。 @@ -14291,6 +14324,28 @@ SET XML OPTION { DOCUMENT | CONTENT }; + + restrict_nonsystem_relation_kind (string) + + restrict_nonsystem_relation_kind + configuration parameter + + + + + +《機械翻訳》この変数は、アクセスが制限されているリレーション種を指定します。 +この包含は、リレーション種のカンマ分離リストです。 +現在、サポートされているリレーション種はビュー外国-テーブルです。 + + + + diff --git a/doc/src/sgml/config0.sgml b/doc/src/sgml/config0.sgml index 17fee3f6280..eab7e025851 100644 --- a/doc/src/sgml/config0.sgml +++ b/doc/src/sgml/config0.sgml @@ -2258,15 +2258,18 @@ TLSバージョン1.2あるいはそれ以下のバージョンを使用する -古いバージョンのPostgreSQLにはこの設定がなく、常にクライアントの設定を使います。 +《マッチ度[77.070064]》古いバージョンのPostgreSQLにはこの設定がなく、常にクライアントの設定を使います。 この設定は、主に古いバージョンとの互換性のために設けられています。 通常サーバの設定に従うほうが良いです。大抵の場合、サーバはより適切に設定されているからです。 +《機械翻訳》PostgreSQLバージョン前9.4にはこの設定がなく、常にクライアントのプリファレンスが使用されます。 +この設定は主に、これらのバージョンの下位互換性用です。 +サーバが適切に構成されている可能性が高いため、通常はサーバのプリファレンスを使用することをお勧めします。 diff --git a/doc/src/sgml/config1.sgml b/doc/src/sgml/config1.sgml index fae8a6dccb9..01afc89b343 100644 --- a/doc/src/sgml/config1.sgml +++ b/doc/src/sgml/config1.sgml @@ -3880,14 +3880,26 @@ WALレコードは、適用される準備が整うまでスタンバイに保 joining the matching partitions. Partitionwise join currently applies only when the join conditions include all the partition keys, which must be of the same data type and have one-to-one matching sets of - child partitions. Because partitionwise join planning can use - significantly more CPU time and memory during planning, the default is - off. ---> -パーティション同士の結合(partitionwise join)を問い合わせプランナが使用するのを有効あるいは無効にします。 + child partitions. With this setting enabled, the number of nodes + whose memory usage is restricted by work_mem + appearing in the final plan can increase linearly according to the + number of partitions being scanned. This can result in a large + increase in overall memory consumption during the execution of the + query. Query planning also becomes significantly more expensive in + terms of memory and CPU. The default value is off. +--> +《マッチ度[52.750000]》パーティション同士の結合(partitionwise join)を問い合わせプランナが使用するのを有効あるいは無効にします。 パーティション同士の結合は、適合するパーティションを結合することによって実行される、パーティション化テーブルにまたがる結合を可能にします。 今の所、パーティション同士の結合は、すべてのパーティションキーを含んでいて、かつパーティションキーの型が同じで、一対一で一致する子パーティションの集合を持つ結合条件のときだけに適用されます。 パーティション同士の結合のプランニングには大量のCPU時間とメモリが使用されることがあるので、デフォルトはoffです。 +《機械翻訳》クエリプランナでのパーティションワイズ結合の使用を有効または無効にします。 +これにより、テーブルパーティションパーティションを結合することによってマッチング間の結合を実行できます。 +現在、パーティション単位の結合が適用されるのは、結合条件によってすべてのパーティションキーがincludeされる場合だけです。 +これらのキーは、同じデータタイプで、1対1のマッチングセットの子パーティションを持つ必要があります。 +この設定を有効にすると、最終プランに表示されるwork_memによってメモリ使用が制限されるノードの数は、スキャンされるパーティションの数に応じて直線的に増加します。 +これは、ラージの実行中に全体的なメモリ消費のクエリ増加をもたらす可能性がある。 +また、クエリ・プランニングは、メモリとCPU使用率の点でも非常に高価になります。 +デフォルト値はオフです。 @@ -3909,14 +3921,25 @@ WALレコードは、適用される準備が整うまでスタンバイに保 tables to be performed separately for each partition. If the GROUP BY clause does not include the partition keys, only partial aggregation can be performed on a per-partition - basis, and finalization must be performed later. Because - partitionwise grouping or aggregation can use significantly more CPU - time and memory during planning, the default is + basis, and finalization must be performed later. With this setting + enabled, the number of nodes whose memory usage is restricted by + work_mem appearing in the final plan can increase + linearly according to the number of partitions being scanned. This + can result in a large increase in overall memory consumption during + the execution of the query. Query planning also becomes significantly + more expensive in terms of memory and CPU. The default value is off. --> -パーティション化されたテーブルに対してグループ化または集約を個別に実行できるように、問い合わせプランナのパーティションごと(partitionwise)のグループ化または集約の使用を有効または無効にします。 +《マッチ度[54.666667]》パーティション化されたテーブルに対してグループ化または集約を個別に実行できるように、問い合わせプランナのパーティションごと(partitionwise)のグループ化または集約の使用を有効または無効にします。 GROUP BY句がパーティションキーを含まない場合は、パーティション単位で部分集約だけが実行でき、最終結果の算出は後で行われます。 パーティション同士のグループ化あるいは集約には大量のCPU時間とメモリが使用されることがあるので、デフォルトはoffです。 +《機械翻訳》クエリープランナによる区分ごとのグループ化または集約の使用を有効または無効にします。 +これにより、テーブルパーティションでのグループ化または集約をパーティションごとに個別に実行できます。 +GROUP BY句がパーティションキーをincludeしない場合は、パーティションごとに部分集約だけを実行でき、後でファイナライズを実行する必要があります。 +この設定を有効にすると、最終プランに表示されるwork_memによってメモリ使用が制限されるノードの数は、スキャンされるパーティションの数に応じて直線的に増加します。 +これは、ラージの実行中に全体的なメモリ消費のクエリ増加をもたらす可能性がある。 +また、クエリ・プランニングは、メモリとCPU使用率の点でも非常に高価になります。 +デフォルト値はオフです。 diff --git a/doc/src/sgml/config2.sgml b/doc/src/sgml/config2.sgml index 8112d8ccfc2..1fe8d7fde9f 100644 --- a/doc/src/sgml/config2.sgml +++ b/doc/src/sgml/config2.sgml @@ -3061,7 +3061,9 @@ NULL値を持つ文字列フィールドは出力から除外されます。 measure the overhead of timing on your system. I/O timing information is displayed in - pg_stat_database, in the output of + pg_stat_database, + + pg_stat_io, in the output of when the BUFFERS option is used, in the output of when the VERBOSE option is used, by autovacuum @@ -3071,12 +3073,17 @@ NULL値を持つ文字列フィールドは出力から除外されます。 Only superusers and users with the appropriate SET privilege can change this setting. --> -データベースによるI/O呼び出しの記録を有効にします。 +《マッチ度[78.556911]》データベースによるI/O呼び出しの記録を有効にします。 このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 使用しているシステムにおける記録の負荷を計測するためツールが使用できます。 I/O呼び出し情報は、pg_stat_databaseに表示されます。 BUFFERSオプションが設定されている時は の出力、VERBOSEオプションが設定されている時はの出力、が設定されている時はにより表示されます。 スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 +《機械翻訳》データベース入出力コールのタイミングをイネーブルにします。 +このパラメータはデフォルトによるオフであり、現在時間にオペレーティングシステムを繰り返しクエリするため、一部のプラットフォームでは重大なオーバーヘッドが発生する可能性があります。 +ツールを使用して、システムのタイミングのオーバーヘッドを計測できます。 +入出力タイミング情報はpg_stat_データベースpg_stat_ioBUFFERSオプションが使用されている場合はの出力に、VERBOSEオプションが使用されている場合はの出力に、が設定されている場合は自動バキュームと自動解析のオートバキューム別に、そして別に表示されます。 +この設定を変更できるのは、スーパーユーザおよび適切なSET権限を持つユーザのみです。 diff --git a/doc/src/sgml/config3.sgml b/doc/src/sgml/config3.sgml index eb604d474c0..c948ab35739 100644 --- a/doc/src/sgml/config3.sgml +++ b/doc/src/sgml/config3.sgml @@ -888,6 +888,28 @@ SET XML OPTION { DOCUMENT | CONTENT }; + + restrict_nonsystem_relation_kind (string) + + restrict_nonsystem_relation_kind + configuration parameter + + + + + +《機械翻訳》この変数は、アクセスが制限されているリレーション種を指定します。 +この包含は、リレーション種のカンマ分離リストです。 +現在、サポートされているリレーション種はビュー外国-テーブルです。 + + + + diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index d202ab4e06c..26abf2af49d 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -5093,12 +5093,8 @@ SELECT person.name, holidays.num_weeks FROM person, holidays line - - 32バイト - 無限の直線 {A,B,C} @@ -5166,6 +5162,14 @@ SELECT person.name, holidays.num_weeks FROM person, holidays + + +《機械翻訳》いずれのタイプでも、個々の座標は倍精度float8の数値として格納されます。 + + -多角形は座標点(多角形の頂点)のリストで表現されます。 +《マッチ度[89.787234]》多角形は座標点(多角形の頂点)のリストで表現されます。 多角形は閉経路ととても良く似ています。多角形は領域をその内側に含むと考えますが、閉経路ではそのように考えない点が本質的な違いです。 +《機械翻訳》ポリゴンは、ポイント(ポリゴンの頂点)のリストで表されます。 +ポリゴンは閉じた経路と非常によく似ています。 +基本的なセマンティック差では、ポリゴンはその中の領域をincludeとみなされますが、パスはそうではありません。 + + + + +《機械翻訳》ポリゴンと実装の間の重要な経路差は、ポリゴンの格納された表現形式に最小の外接矩形が含まれていることです。 +これにより、特定の検索操作が高速化されますが、外接矩形を計算すると、新しいポリゴンを構築するときにオーバーヘッドが追加されます。 diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index dcec25f6065..8b01aafc4c2 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -628,6 +628,15 @@ CREATE TABLE people ( しかし逆に生成列をBEFOREトリガの中でアクセスすることは許されません。 + + + +《機械翻訳》生成される列はロジカルレプリケーションのスキップされたであり、CREATEパブリケーションカラムリストでは指定できません。 + + diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml index f2cfd2b1859..4414376f044 100644 --- a/doc/src/sgml/glossary.sgml +++ b/doc/src/sgml/glossary.sgml @@ -3322,11 +3322,13 @@ WALレコードは表示できないバイナリフォーマットを使用し -WALレコード共有メモリからWALファイルに書き出すプロセス。 +《マッチ度[73.809524]》WALレコード共有メモリからWALファイルに書き出すプロセス。 +《機械翻訳》プロセスからWALファイルWALレコードを書き込む補助共有メモリ -列のデータ型記述子の、テーブルに属するデータ型記述子内で一意な識別子です。 -この識別子のインスタンスを結合する時に、主に有用です。 -(識別子の書式仕様は定義されておらず、今後のバージョンで同一性を維持する保証もありません。) +《マッチ度[81.931464]》関数に属するデータ型記述子内で一意なパラメータのデータ型記述子の識別子です。 +これは主に、こうした識別子の他のインスタンスと結合する時に有用です +(識別子の書式の仕様は定義されておらず、また、今後のバージョンでも同一のままであるという保証もありません)。 +《機械翻訳》コンポジットタイプに関連する識別子記述子の中で、属性のデータタイプディスクリプタ、ユニークのフォーマット。 +これは主に、このような識別子の他のインスタンスと結合する場合に役立ちます(識別子の特定の地域は定義されておらず、将来のバージョンでも同じままであることは保証されていません)。 +データタイプ diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index bdde5a40657..0f5ba4befcb 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -1772,12 +1772,14 @@ test_sub=# SELECT * FROM child ORDER BY a; -列リストが指定されていない場合、後で追加された列は自動的にレプリケーションされます。 +《マッチ度[89.423077]》列リストが指定されていない場合、後で追加された列は自動的にレプリケーションされます。 つまり、すべての列に名前を付ける列リストがあることは、列リストがないこととは異なります。 +《機械翻訳》カラムリストが指定されていない場合、後でテーブルに追加される列は自動的にレプリケートされます。 +つまり、すべての列に名前を付けるカラムリストがあることは、カラムリストがまったくないことと同じではありません。 diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 680b1e40b6c..dc32bffbc9a 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -280,17 +280,19 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser -パラメータは、ブロック読み取りおよび書き込み時間を監視するかどうかを指定できます。 +《マッチ度[76.923077]》パラメータは、ブロック読み取りおよび書き込み時間を監視するかどうかを指定できます。 +《機械翻訳》パラメータは、ブロック監視の読み取り、書き込み、拡張、およびfsync時間を有効にします。 -パラメータは、WALの書き込み時間を監視するかどうかを指定できます。 +《マッチ度[84.615385]》パラメータは、WALの書き込み時間を監視するかどうかを指定できます。 +《機械翻訳》パラメータはWAL書き込み時間とfsync時間の監視を可能にします。 diff --git a/doc/src/sgml/parallel.sgml b/doc/src/sgml/parallel.sgml index 5f7b690c9b7..485e0b9856a 100644 --- a/doc/src/sgml/parallel.sgml +++ b/doc/src/sgml/parallel.sgml @@ -297,14 +297,14 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; -あるクエリに対してパラレルクエリプランが生成された場合でも、実行時にプランを並列に実行できないような状況があります。 +《マッチ度[93.607306]》あるクエリに対してパラレルクエリプランが生成された場合でも、実行時にプランを並列に実行できないような状況があります。 この状況においては、まるでGatherノードが存在しなかったかのように、リーダーはGatherノード以下部分のプランのすべてを自分自身で実行します。 これは、以下の条件のどれかが当てはまると起こります。 diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index 197701fe9cd..474b8ac938f 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -4940,17 +4940,25 @@ FETCH direction { FROM | IN } -FETCHSELECT INTOと同様に、カーソルから次の行を抽出し、対象に格納します。 +《マッチ度[65.511265]》FETCHSELECT INTOと同様に、カーソルから次の行を抽出し、対象に格納します。 対象とは、行変数、レコード変数、または単純な変数をカンマで区切ったリストです。 SELECT INTOの場合と同様、特殊なFOUND変数を検査することで、行が取得できたかどうかを確認することができます。 +《機械翻訳》フェッチは、指示された方向の次の行をカーソルからターゲットに取得します。 +これは、セレクトINTOと同様に、行変数、レコード変数、またはカンマで区切られたシンプル変数のリストです。 +適切な行がない場合、ターゲットはnullに設定されます。 +セレクトINTOと同様に、特別な変数FOUNDをチェックして、行が取得されたかどうかを確認できます。 +行が取得されない場合、移動方向に応じて、カーソルは最後の行の後に配置されるか、前は最初の行の後に配置されます。 @@ -5021,15 +5029,35 @@ MOVE direction { FROM | IN } < -MOVEコマンドは、データを取り出さないでカーソルの位置を変更します。 -MOVEコマンドは、移動先の行を返さないでカーソルの位置だけを変更することを除けば、FETCHコマンドと同一の働きをします。 -SELECT INTOと同様に、特殊な変数FOUNDを用いて、移動先に行が存在するかどうかを検査できます。 + be checked to see whether there was a row to move to. If there is no + such row, the cursor is positioned after the last row or before the + first row, depending on the movement direction. +--> +《機械翻訳》MOVEは、カーソルを取得せずにデータを再配置します。 +MOVEフェッチコマンドと同様に機能しますが、カーソルを再配置するだけで、行の移動先の結果は行いません。 +方向句は、SQLコマンドで許可されている任意のバリアントにすることができます。 +これには、複数の行をフェッチできるものも含まれます。 +カーソルは、最後の行に配置されます。 +ただし、方向ケースがキーワードのない単なるカウントであるような式はPL/pgSQLでは推奨されません。 +その構文は、方向ケースが完全に省略されている句とは曖昧であり、したがって、カウントが定数でない場合には失敗する可能性がある。 +セレクトINTOと同様に、特別変数FOUNDをチェックして、移動先の行があるかどうかを確認できます。 +そのような行がない場合、移動方向に応じて、カーソルは最後の行の後に配置されるか、前は最初の行の後に配置されます。 diff --git a/doc/src/sgml/ref/alter_materialized_view.sgml b/doc/src/sgml/ref/alter_materialized_view.sgml index 0acfc61ec82..3237f2549e3 100644 --- a/doc/src/sgml/ref/alter_materialized_view.sgml +++ b/doc/src/sgml/ref/alter_materialized_view.sgml @@ -133,9 +133,10 @@ ALTER MATERIALIZED VIEW ALL IN TABLESPACE name -新しいまたは既存の列の名前です。 +《マッチ度[51.851852]》新しいまたは既存の列の名前です。 +《機械翻訳》既存のカラムの名前。 diff --git a/doc/src/sgml/ref/create_role.sgml b/doc/src/sgml/ref/create_role.sgml index 85fb27de0ce..8f7c367026a 100644 --- a/doc/src/sgml/ref/create_role.sgml +++ b/doc/src/sgml/ref/create_role.sgml @@ -96,13 +96,13 @@ in sync when changing the above synopsis! During role creation it is possible to immediately assign the newly created role to be a member of an existing role, and also assign existing roles to be members of the newly created role. The rules for which initial - role membership options are enabled described below in the + role membership options are enabled are described below in the IN ROLE, ROLE, and ADMIN clauses. The command has fine-grained option control during membership creation, and the ability to modify these options after the new role is created. --> -ロールの作成時に、新しく作成されたロールを既存のロールのメンバに直ちに割り当てることができます。また、既存のロールを新しく作成されたロールのメンバに割り当てることもできます。 +《マッチ度[94.454713]》ロールの作成時に、新しく作成されたロールを既存のロールのメンバに直ちに割り当てることができます。また、既存のロールを新しく作成されたロールのメンバに割り当てることもできます。 初期ロールメンバ資格オプションが有効になるルールは、以下のIN ROLEROLEADMIN句で説明します。 コマンドは、メンバ資格の作成中に細かいオプション制御を行い、新しいロールが作成された後にこれらのオプションを変更する機能を持っています。 diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml index bc9143a3ebf..fda07383013 100644 --- a/doc/src/sgml/ref/delete.sgml +++ b/doc/src/sgml/ref/delete.sgml @@ -31,7 +31,7 @@ PostgreSQL documentation DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ] [ USING from_item [, ...] ] [ WHERE condition | WHERE CURRENT OF cursor_name ] - [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] + [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] diff --git a/doc/src/sgml/ref/drop_database.sgml b/doc/src/sgml/ref/drop_database.sgml index 99565854d34..fe4c07a6bf2 100644 --- a/doc/src/sgml/ref/drop_database.sgml +++ b/doc/src/sgml/ref/drop_database.sgml @@ -117,17 +117,19 @@ DROP DATABASE [ IF EXISTS ] name [ 対象とするデータベースへの既存の接続をすべて終了することを試みます。 対象とするデータベースにプリペアドトランザクション、実行中の論理レプリケーションスロット、サブスクリプションが存在する場合には終了しません。 + -これは、現在のユーザに他の接続を終了する権限がない場合には失敗します。 -要求される権限は、に書かれているpg_terminate_backendと同じです。 -これは接続を終了できない場合も失敗します。 +《機械翻訳》これは、バックグラウンドワーカー接続と、現在ユーザがパーミッションで終端するpg_terminate_バックエンド接続を終端します。 +これについてはで説明しています。 +接続が残っている場合、このコマンドは失敗します。 diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml index 4322f9a1fe6..c5a68c43048 100644 --- a/doc/src/sgml/ref/initdb.sgml +++ b/doc/src/sgml/ref/initdb.sgml @@ -829,15 +829,6 @@ WALファイルの大きさを増やせば、WALファイルの数は減るで - - -また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(を参照してください)。 - - diff --git a/doc/src/sgml/ref/insert.sgml b/doc/src/sgml/ref/insert.sgml index 8906146d247..96dc3c4f593 100644 --- a/doc/src/sgml/ref/insert.sgml +++ b/doc/src/sgml/ref/insert.sgml @@ -32,7 +32,7 @@ INSERT INTO table_name [ AS expression | DEFAULT } [, ...] ) [, ...] | query } [ ON CONFLICT [ conflict_target ] conflict_action ] - [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] + [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] -また、pg_ctlは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(を参照してください)。 - - +《機械翻訳》でワイルドカードを使用すると、予期しない外部サーバへのアクセスが発生する可能性があります。 +また、このオプションを安全に使用するために、makeは記名的サーバにトラステッド所有者が必要であることを確認します。 + + + + + + リリース16.4 + + + + リリース日: + 2024-08-08 + + + + +《マッチ度[92.907801]》このリリースは16.2に対し、様々な不具合を修正したものです。 +16メジャーリリースにおける新機能については、を参照してください。 + + + + + バージョン16.4への移行 + + + +16.Xからの移行ではダンプ/リストアは不要です。 + + + + +《マッチ度[85.858586]》また、16.2より前のバージョンからアップグレードする場合は、を参照してください。 +《機械翻訳》ただし、16.3年より前のバージョンのアップグレード処理である場合は、を参照してください。 + + + + + + 変更点 + + + + + + + +《機械翻訳》pg_コード中の不正なダンプ実行を防止しました。 +(Masahiko Sawada) + + + + +《機械翻訳》一時的以外のオブジェクトを作成したり削除したりできる攻撃者は、pg_ダンプを実行しているセッションスーパーユーザであることが多いの権限で同時実行pg_ダンプロールによって実行されるSQLコードを注入する可能性があります。 +この攻撃では、シーケンスまたは類似のオブジェクトを、悪意のあるコードを実行するビューまたは外部テーブルに置き換える。 +これを防ぐために、組み込みでないビューの拡張や外部テーブルへのサーバを無効にすることができる新しいパラメータリレーションrestrict_nonsystem_アクセス_kindを導入し、利用可能な場合にはそれを設定するようpg_ダンプに指示してください。 +攻撃が防止されるノートは、pg_ダンプとダンプ元のサーバの両方が十分に新しく、この修正が必要な場合に限られます。 + + + + +《マッチ度[73.873874]》PostgreSQLプロジェクトは、本問題を報告してくれたLukas Fittlに感謝します。 +(CVE-2024-4317) +《機械翻訳》PostgreSQLプロジェクトは、この問題を報告してくれたNoah Mischに感謝します。 +(CVE-2024-7348)。 + + + + + + + +《機械翻訳》マージ右岸アンチ結合伏図からの不正確な結果を回避します。 +(Richard Guo) + + + + +《機械翻訳》内側のリレーションにユニーク結合キーがあることがわかっている場合、外側のマージに重複した結合キーがあるとリレーションが不正な動作をする可能性があります。 + + + + + + + +《機械翻訳》バキュームの無限ループ防止 +(Melanie Plageman) + + + + +《機械翻訳》切断されたスタンバイサーバと古いトランザクションがプライマリに再接続された後、プライマリのバキュームが削除可能なタプルについて混乱し、無限ループが発生する可能性がありました。 + + + + + + + +《機械翻訳》パーティションに以前にテーブルの子があった場合に、テーブルを継承としてアタッチした後の失敗を修正しました。 +(Álvaro Herrera) + + + + + + + +《機械翻訳》テーブルベースの拘束に一貫性がない場合のALTERパーティションDETACHインデックスを修正しました。 +(Álvaro Herrera, Tender Wang) + + + + +《機械翻訳》分割されたテーブルに、制約に関連付けられていないインデックスがあり、パーティションに同等のインデックスがある場合、パーティションを切り離すと不正な動作が行われ、元のパーティションの制約に誤ったcominncount値が残ります。 +これにより、その制約をさらに操作する際にトラブルが発生します。 + + + + + + + +《機械翻訳》ALTERパーティションDETACHセットアップCONCURRENTLYの間にテーブルを刈り込むパーティションを修正しました。 +(Álvaro Herrera) + + + + +《機械翻訳》エグゼキュータでは、分割されたパーティションでのクエリの計画と実行の間にテーブルを切り離すことはできないと想定されていました。 +これは、DETACHパーティションCONCURRENTLYオプションの序文以降の真ではなくなり、クエリを使用したときに一時的に実行が失敗する可能性があります。 + + + + + + + +《機械翻訳》分割されたテーブルのpg_クラス.reltuplesフィールドを、その最後の子パーティションが削除された後のゼロに正しく更新します。 +(Noah Misch) + + + + +《機械翻訳》このような分割されたテーブルの最初のANALYZEも更新relhassubclassでなければならず、それによってreltuples更新が失われました。 + + + + + + + +《機械翻訳》プロシージャ(ハンドリング)の多様引数出力引数を修正しました。 + (Tom Lane) + + + + +《機械翻訳》SQL呼び出しステートメントでは、このような引数に対して正しいデータ型を解決できなかったため、caribbean anyelementの値をディスプレイできないなどのエラーが発生したり、完全なクラッシュが発生したりしました(ただし、PL/pgSQL呼び出しは正しく動作しました)。 +タイプ + + + + + + + +《機械翻訳》呼び出しステートメントの引数リストから呼び出される安定(stable)関数の動作を修正しました。 +(Tom Lane) + + + + +《機械翻訳》呼び出しが原子的コンテキスト内にある場合(例えば、外側のトランザクションブロックがある場合)、そのような関数は間違いsnapshotを渡され、外側のトランザクションのスタート以降に変更された行の古い値を見ることになります。 + + + + + + + +《機械翻訳》タイプtimeおよびtimetzに対するISO-8601拡張時間フォーマットの入力を修正しました。 +(Tom Lane) + + + + +《機械翻訳》T12:34:56などのケースを再度許可します。 + + + + + + + +《機械翻訳》金額計算で整数オーバーフローを検出します。 +(Joseph Koshakow) + + + + +《機械翻訳》金額タイプの算術関数はいずれもオーバーフロー前をチェックしなかったので、オーバーフローした場合には間違いに静かに答えを与えた。 + + + + + + + +《マッチ度[50.000000]》interval_mul()interval_div()でオーバーフローの検査をさらに追加しました。 +(Dean Rasheed) +《機械翻訳》round(numeric)およびtrunc(numeric)での位取り引数の過度にアグレッシブなクランプを修正しました。 +(Dean Rasheed) + + + + +《機械翻訳》これらの関数は、位取り引数を+/-2000に固定しましたが、これよりも大きくなる有効な使用例があります。 +このような場合、関数は誤った結果を返します。 +代わりに、実際に許可されたタイプレンジ数値に固定します。 + + + + + + + +《機械翻訳》pg_size_pretty()の結果を、可能な限り小さいbigint値に適用した場合に修正しました。 +(Joseph Koshakow) + + + + + + + +《機械翻訳》pg_sequence_last_value()がスタンバイサーバのログされていないシーケンスや他のセッションの一時的シーケンスで失敗しないようにしました。 +(Nathan Bossart) + + + + +《機械翻訳》make、結果、null、この場合は代わりがエラーを投げます。 + + + + + + + +《機械翻訳》websearch_to_tsquery()で無視される演算子のパースを修正しました。 +(Tom Lane) + + + + +《機械翻訳》マニュアルによると、websearch_to_tsquery()の入力の句読点は、ダッシュと引用符の特殊な場合を除いて無視されます。 +ただし、カッコと前anまたはの直後に現れる他のいくつかの文字は、またはが予想されたORワードではなく、データ演算子として扱われる可能性があります。 + + + + + + + +《マッチ度[63.736264]》新しい配列の次元を計算するときに整数オーバーフローを検出します。 +(Tom Lane) +《機械翻訳》新しい整数寸法の計算中に、別の配列オーバーフローケースを検出します。 +(Joseph Koshakow) + + + + +《機械翻訳》空の配列への配列寸法[-2147483648:2147483647]の適用を拒否します。 +これはCVE-2023-5869と密接に関連していますが、配列はまだ空のままであるため無害に見えます。 + + + + + + + +《機械翻訳》strnxfrm()の移植できない使用法を修正しました。 +(Jeff Davis) + + + + +《機械翻訳》非決定的な照合のためのコード経路の中には、pg_strnxfrm() returned unexpected resultのようなエラーで失敗するものがありました。 + + + + + + + +《マッチ度[65.384615]》フィールドをTOASTから展開する時に新しいカタログキャッシュエントリが古くなったことを検出します。 +(Tom Lane) +《機械翻訳》新しいカタログキャッシュエントリの別のケースが、その畑を焼き払う間に古くなるのを検出する。 +(Noah Misch) + + + + +《機械翻訳》カタログタプルで直線外のフィールドを拡張している間に発生したインプレイス更新は見逃される可能性があり、インプレイス変更がないが古いことが知られていないカタログキャッシュエントリにつながる可能性があります。 +これはpg_databaseカタログでのみ可能であるため、影響は限定的ですが、誤動作の可能性があります。 + + + + + + + +《機械翻訳》INSERT.チェック(ビュー)の対象となる列のデフォルト更新可能性が正しくなりました。 +(Tom Lane) + + + + +《機械翻訳》このようなカラムが更新できない場合は、そのことを報告するエラーを指定する必要があります。 +しかし、そのチェックは見逃され、後でコードはレポート番号Nがビューターゲットリストに見つかりませんのような役に立たないになります。 +エラー属性 + + + + + + + +《機械翻訳》不正な再帰クエリ(エラー)に対して、役に立たない内部を報告しないようにします。 +(Tom Lane) + + + + +《機械翻訳》WITH RECURSIVEオーダーがエラーの2番目のアーム内に自己エラーを持たないが、ポイントBYのような他の場所に自己リファレンスを持つ場合に、ユニオン上のクエリを投げるように、オーダーチェックのを再配置します。 +リファレンス + + + + + + + +《機械翻訳》ALTER TABLE SET LOGGED|UNLOGGED中のテーブル所有シーケンス。 +(Noah Misch) + + + + +《機械翻訳》これらのコマンドは、テーブルが所有するシーケンスの持続性をテーブルとともに変更しますが、その間にシーケンス上のロックを取得できませんでした。 +これにより、同時nextval()呼び出しの効果が失われる可能性があります。 + + + + + + + +《機械翻訳》キューに入れられたAFTERエラーがもはや存在しない場合は、トリガをスローしません。 +(Tom Lane) + + + + +《機械翻訳》トランザクションが、後で実行するために遅延AFTERトリガをキューに入れるオペレーションを実行し、発生したトリガ前をドロップする可能性があります。 +以前は、これによりcould not findトリガNNNNなどの奇妙なエラーが発生していました。 +トリガが実行されるはずの時点でもはや存在しない場合は、黙って何もしない方が良いようです。 + + + + + + + +《機械翻訳》レベルが削除された場合に、カラム-テーブル特権のエントリpg_init_privsを削除できない問題を修正しました。 +(Tom Lane) + + + + +《機械翻訳》あるextensionが作成したテーブルに対してカラム-レベルの権限を付与した場合、そのカタログが削除された後も、関連するextensionエントリは残ります。 +これは、テーブルのoidが他のリレーションに再利用されるまでは無害でした。 +再利用されないと、そのリレーションに対してpg_がダンプする内容に干渉する可能性があります。 +ダンプ + + + + + + + +《機械翻訳》目的の選択に式またはインデックス(コンフリクト)がある場合、ONインデックスのアービター述語を固定します。 +(Tom Lane) + + + + +《機械翻訳》ONクエリを使用するコンフリクトが、更新可能なビューを介してターゲットテーブルにアクセスする場合、マッチングインデックスが存在していても、失敗する可能性がありますONコンフリクトの指定にユニークまたは排他制約マッチングはありません。 + + + + + + + +《機械翻訳》ALTER一時テーブルセッションを使用して別のテーブルのを変更することを拒否します。 +(Tom Lane) + + + + +《機械翻訳》通常、権限チェックによってこのケースが発生することは防止されますが、別の親のテーブルを子に持つセッションの一時テーブルを変更することによって、このエラーに到達することは可能です。 +このような子のテーブルが別のセッションに属していることが判明した場合は、をスローします。 + + + + + + + +《機械翻訳》CREATEハンドリングLIKE統計処理の式で拡張テーブルの統計処理を修正しました。 +(Tom Lane) + + + + +《機械翻訳》CREATEコマンドは、カラム式の統計処理参照を、新しいカラムの番号付けとは異なる可能性のある番号付けに調整できませんでした。 +その結果、無効なテーブルオブジェクトが作成され、後で問題が発生します。 +列の再番号付けが必要な典型的なシナリオは、ソーステーブル包含でいくつかの列が削除された場合です。 +統計処理 + + + + + + + +《機械翻訳》MIN()またはサブ()集約(最大)から生成されたクエリの再計算の失敗を修正しました。 +(Tom Lane) + + + + +《機械翻訳》場合によっては、外部集約の1つの行で計算されたクエリの結果が、後の行で再利用されるべきではないときに再利用されることがあります。 +これは、外部クエリがハッシュ集約で実装されたDISTINCTを使用する場合にのみ発生しますが、他のケースも存在する可能性があります。 + + + + + + + +《機械翻訳》位置パラメータでアンダースコアを再度禁止しました。 +(Erik Wienhold) + + + + +《機械翻訳》v16では、整数リテラルにアンダースコアを含めることができます。 +この変更により、$1_234などの入力が単一のトークンと見なされるようになりましたが、正しく機能しませんでした。 +パラメータシンボルが$の後に数字が続くだけのオリジナル定義に戻すことをお勧めします。 + + + + + + + +《機械翻訳》JIT連結されたバックエンド関数がエラーを投げるときに衝突しないようにする。 +(Tom Lane) + + + + +《機械翻訳》エラーの状態は、JITコンパイルされたコード(エラーのロケーション文字列用)を保持する動的にロードされたモジュールにポインタをincludeすることができます。 +一部のコード経路では、モジュールがアンロードされる可能性があります。 +エラーレポートが処理され、ロケーション文字列にアクセスするとSIGSEGVが発生します。 +前 + + + + + + + +《マッチ度[53.271028]》libxml2バージョン2.12.0以降でのコンパイル失敗を修正しました。 +(Tom Lane) +《機械翻訳》libxml2バージョン2.13.xの動作の変更に対処する。 +(Erik Wienhold, Tom Lane) + + + + +《機械翻訳》特に、報告されたチャンクがそれだけでない限り、libxml2からのエラーはバランスがとれていないエラーを抑制するようになりました。 +これは、2.13.xと以前のlibxml2バージョンの間で一貫したmakeエラーレポートです。 +以前のバージョンでは、そのメッセージはほとんど常に冗長であるか、完全に間違っていたため、2.13.xでは報告されるケースの数が大幅に減少しました。 + + + + + + + +《機械翻訳》ハンドリング(ホットスタンバイサーバ)を開始するときに、準備されたトランザクションのサブトランザクションを固定します。 +(Heikki Linnakangas) + + + + +《機械翻訳》シャットダウンチェックポイントのWALレコードでスタンバイのリプレイを開始する場合、プリペアドであったがまだコミットされていないトランザクションは、まだ進行中であると正しく理解されます。 +しかし、プリペアードトランザクションのサブトランザクション(セーブポイントまたはPL/pgSQL例外ブロックによって作成されたもの)は考慮されず、中断されたものとして扱われます。 +このため、プリペアードトランザクションが後でコミットされた場合に矛盾が生じます。 +プライマリ + + + + + + + +《機械翻訳》ロジカルレプリケーションスロットの誤った初期設定を防止します。 +(Masahiko Sawada) + + + + +《機械翻訳》場合によっては、WALレプリケーションスロット内のストリームの開始点がトランザクション内のポイントに設定され、アサーションエラーや不正確なデコード結果をもたらすことがあります。 + + + + + + + +《機械翻訳》エラーの作成時にレプリケーションスロットを回避し統計情報をドロップできるのは1回のみ、をドロップします。 +(Floris Van Nee) + + + + + + + +《機械翻訳》ロジカルレプリケーションのWAL送信者(Hou Zhijie)におけるリソースリークを修正しました。 + + + + +《機械翻訳》walsenderプロセスは、区分されたメモリと物理的に異なる行タイプを持つ区分されたテーブルへの変更を公開するときに、テーブルをリークしました。 + + + + + + + +《機械翻訳》notifyまたはsinval interrupt(メモリ)をサービスした後は、の漏れを避けてください。 +(Tom Lane) + + + + +《機械翻訳》これらのイベントの処理関数は、現在メモリコンテキストをTopMemoryContextにスイッチする可能性があり、その結果、データに割り当てられた前のセッションライフスパンリークが発生し、誤った設定が置き換えられる。 +バインドメッセージに添付された着信クエリとパラメータの(少なくとも)エンコーディング変換に関連して、観測可能なリークがあった。 + + + + + + + +《機械翻訳》統計処理に使用される共有メモリブロックのリファレンス数の漏洩を防止する。 +(Anthonin Bonnefoy) + + + + +《機械翻訳》統計処理共有メモリに接続する新しいバックエンドプロセスは、リファレンスカウントを増加させましたが、終了時にカウントを減少させることができませんでした。 +232セッションが作成された後、リファレンスカウントはゼロにオーバーフローされ、その後のバックエンドプロセスの開始すべてで障害が発生しました。 + + + + + + + +《機械翻訳》multixact SLRUログのトランケート中のデッドロックとアサーションエラーを防止します。 +(Heikki Linnakangas) + + + + +《機械翻訳》SLRUセグメントを削除しようとするプロセスは、チェックポインタプロセスでデッドロックすることができます。 + + + + + + + +《機械翻訳》Windowsソケットでのend-of-inputイベントの欠落を回避しました。 +(Thomas Munro) + + + + +《機械翻訳》WindowsがFD_クローズイベントを報告するのは、コネクションのリモート終端が切断された後に1回だけです。 +不運なタイミングでは、そのレポートを見逃して、無限に、または少なくともタイムアウトが経過するまで待って、より多くの入力を期待することができます。 + + + + + + + +《機械翻訳》不完全なバッファシーケンスについて、JSON解析エラーレポートでのバイトのオーバーリードを修正しました。 +(Jacob Champion) + + + + +《機械翻訳》最後のバイトが不完全なオフ-バッファ文字を構成している場合、入力されたマルチの最後を数バイトウォークすることができました。 +通常は無害ですが、原則的にはクラッシュを引き起こす可能性があります。 +バイト + + + + + + + +《機械翻訳》OpenSSL(セッション)によるステートフルTLSチケットの作成をディセーブルにします。 +(Daniel Gustafsson) + + + + +《機械翻訳》これにより、セッションチケットの受信がTLSセッションの再開がサポートされていることを意味すると考えるクライアントで発生する可能性のある障害が回避されます。 + + + + + + + +《機械翻訳》PL/pgSQLを再計画する場合シンプル式、チェックはシンプルのままです。 +(Tom Lane) + + + + +《機械翻訳》被参照関数を削除して集約として再作成するなど、かなり人為的なケースでは、予期しないプランノードタイプなどの予期せぬ障害が発生する可能性があります。 + + + + + + + +《機械翻訳》PL/pgSQLのアンダースコアを含む整数範囲のハンドリングを修正しました。 + + + + +《機械翻訳》v16では整数リテラルにアンダースコアを含めることができますが、PL/pgSQLFOR i IN 1_001.1_003のようなハンドルの例には失敗しました。 + + + + + + + +《機械翻訳》再帰レコードを返すPL/Python関数を修正しました。 +(Tom Lane) + + + + +《機械翻訳》別のカラム定義リスト(AS句)を通過する同じ関数の新しい呼び出しに再帰する場合、内側の呼び出しが外側の呼び出しの結果に対する行タイプのアイディアを上書きするため、失敗します。 + + + + + + + +《機械翻訳》再帰的なPL/Python呼び出しの実行中にTDディクショナリを破壊しない。 +(Tom Lane) + + + + +《機械翻訳》PL/Python-言語トリガによって別の辞書が呼び出されると、内側の辞書に対して作成されたTD辞書が外側のTD辞書を上書きします。 + + + + + + + +《機械翻訳》PL/Tclが、リストがタプルを返す結果で無効な関数構文を報告する問題を修正しました。 +(Erik Wienhold, Tom Lane) + + + + +《機械翻訳》このようなケースでは、クラッシュが発生したり、以前のTclエラーを実際に参照する誤解を招くようなコンテキスト情報が出力されたりする可能性があります。 + + + + + + + +《機械翻訳》libpq(Peter Eisentraut)でのstrerror()のスレッド-セーフ以外での使用は避けてください。 + + + + +《機械翻訳》OpenSSLによって返される特定のエラーメッセージが、マルチ-スレッドアプリケーションで文字化けする可能性があります。 + + + + + + + +《機械翻訳》バイナリアップグレードの間はpg_dump内のメモリリークを避けてください。 +(Daniel Gustafsson) + + + + + + + +《機械翻訳》pg_保証が従属TOC項目を正しく報告するリストア。 +(Tom Lane) + + + + +《機械翻訳》などの選択リストアオプションと一緒に指定された場合、実際のリストアがそれらを選択したとしても、コメントなどの従属TOC項目はリストから省略されます。 + + + + + + + +《機械翻訳》contrib/pg_stat_statementsがユーティリティ-SQL関数内に現れる言語文を区別できるようにしました。 +(Anthonin Bonnefoy) + + + + +《機械翻訳》SQL言語機能エグゼキュータは、クエリ(非セレクト/INSERT/更新/削除/マージ)ステートメントに対して計算されたIDを渡すことができませんでした。 +ユーティリティ + + + + + + + +《機械翻訳》contrib/カーソル_fdwスキャンのエラーを避けるPOSTGRESはフォワードしかできない。 +(Etsuro Fujita) + + + + +《機械翻訳》このエラーは、リモートサーバがv15以降で、外部テーブルが非簡易リモートビューにマッピングされている場合に発生する可能性があります。 + + + + + + + +《機械翻訳》contrib/POSTGRES_fdwで、フェッチFIRST WITH TIES句をリモートサーバに送信しません。 +(Japin Li) + + + + +《機械翻訳》リモートサーバはこの句を実装しないか、ローカルでの解釈とは異なる解釈をする可能性があるため、リスクがリモートを実行しようとしないでください。 + + + + + + + +《機械翻訳》システムが提供する<regex.h>ヘッダとの衝突を回避します。 +(Thomas Munro) + + + + +《機械翻訳》これにより、macOSバージョン15以降でのコンパイルの失敗が修正される。 + + + + + + + +《機械翻訳》メモ化アサーション推定における、他の点では無害なコストの失敗を修正した。 +(David Rowley) + + + + + + + +《機械翻訳》SP-GiST アサーションエラーに適用されたインデックス再作成CONCURRENTLYの他の点では無害なインデックスを修正します。 +(Tom Lane) + + + + + + + + -セマフォ識別子の最大数(つまりセット) -最低ceil((max_connections + autovacuum_max_workers + max_worker_processes + 5) / 16) + 他のアプリケーション用の空間 + at least ceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 6) / 16) plus room for other applications SEMMNS - -システム全体のセマフォの最大数 -ceil((max_connections + autovacuum_max_workers + max_worker_processes + 5) / 16) * 17 + 他のアプリケーション用の空間 + ceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 6) / 16) * 17 plus room for other applications @@ -1292,7 +1284,8 @@ System V IPC機能は、通常システム全体の割り当 When using System V semaphores, PostgreSQL uses one semaphore per allowed connection (), allowed autovacuum worker process - () and allowed background + (), allowed WAL sender process + (), and allowed background process (), in sets of 16. Each such set will also contain a 17th semaphore which contains a magic @@ -1306,18 +1299,25 @@ System V IPC機能は、通常システム全体の割り当 linkend="sysvipc-parameters"/>). The parameter SEMMNI determines the limit on the number of semaphore sets that can exist on the system at one time. Hence this parameter must be at - least ceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 5) / 16). + least ceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 6) / 16). Lowering the number of allowed connections is a temporary workaround for failures, which are usually confusingly worded No space left on device, from the function semget. --> -System V セマフォを使用している場合、PostgreSQLは、許可した接続()、許可したオートバキュームワーカープロセス()、許可したバックエンドプロセス()ごとに1つのセマフォを使用し、16個のセマフォをセットとして扱います。 +《マッチ度[89.152542]》System V セマフォを使用している場合、PostgreSQLは、許可した接続()、許可したオートバキュームワーカープロセス()、許可したバックエンドプロセス()ごとに1つのセマフォを使用し、16個のセマフォをセットとして扱います。 それぞれそのようなセットは、他のアプリケーションに使われているセマフォセットとの衝突を検出するためのマジックナンバーが含まれている17個目のセマフォを持っています。 システム内のセマフォの最大数はSEMMNSによって設定され、その結果としてその値は少なくともmax_connectionsautovacuum_max_workersmax_wal_sendersmax_worker_processesと同じ、ただし、許可された接続とワーカー16個ごとに余分な1個を加えた値以上はなければいけません(の公式を参照してください)。 SEMMNIパラメータはシステム上に同時に存在できるセマフォ集合の数の上限を決定します。 ですから、このパラメータは少なくともceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 5) / 16)以上はなくてはいけません。 一時的な失敗の回避策としては許可される接続の数を下げることができますが、No space left on deviceという紛らわしい言葉がsemget関数から表示されます。 +《機械翻訳》システムVセマフォを使用する場合、PostgreSQLは、許可されたコネクション()、許可されたオートバキュームワーカープロセス()、許可されたWAL送信者プロセス()、許可されたバックグラウンドプロセス()ごとに1つのセマフォを16のセットで使用します。 +このような各セットには、他のアプリケーションで使用されるセマフォセットとの衝突を検出するために、包含aマジックナンバーである17番目のセマフォも含まれます。 +システム内のセマフォの最大数はSEMMNSによって設定されます。 +したがって、この値は少なくとも最大_connectionsプラスオートバキューム_最大_workersプラス最大_wal_senders、プラス最大_ワーカー_processes、プラスと同じか、許可された接続プラスworkersが16個増えるごとに1個増えます(の公式を参照)。 +パラメータSEMMNIは、一度にシステムに存在できるセマフォセットの数の制限を決定します。 +したがって、このパラメータは少なくともceil(最大_connections+オートバキューム_最大_workers+最大_wal_senders+最大_ワーカー_processes+6)/16)でなければなりません。 +許可される接続の数を減らすことは、関数semgetからの障害に対する一時的の回避策であり、障害は通常、紛らわしい言葉デバイスにスペースが残っていないで表現されます。 @@ -1355,13 +1355,17 @@ System V セマフォを使用している場合、PostgreSQL), allowed autovacuum worker process - () and allowed background + (), allowed WAL sender process + (), and allowed background process (). On the platforms where this option is preferred, there is no specific kernel limit on the number of POSIX semaphores. --> -POSIXセマフォを使用している場合、System Vと同じ数のセマフォを必要とします。 +《マッチ度[81.346154]》POSIXセマフォを使用している場合、System Vと同じ数のセマフォを必要とします。 つまり、許可した接続()、許可したオートバキュームワーカープロセス()、許可したバックエンドプロセス()ごとに1つのセマフォを使用します。 +このオプションが優先されるプラットフォームでは、POSIXセマフォの数に特定のカーネル制限はありません。 +《機械翻訳》POSIXセマフォを使用する場合、必要なセマフォの数はシステムVの場合と同じです。 +つまり、許可されたコネクション()、許可されたオートバキュームワーカープロセス()、許可されたWAL送信元プロセス()、許可されたバックグラウンドプロセス()ごとに1つのセマフォです。 このオプションが優先されるプラットフォームでは、POSIXセマフォの数に特定のカーネル制限はありません。 diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index f94466faadd..06f5b68e1b4 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -1052,9 +1052,11 @@ int SPI_execute_extended(const char *command, -trueでCALLとDO文の非原子的実行を許可します +《機械翻訳》は、原子的文とDO文の呼び出し以外の実行を許可します(ただし、SPI_OPT_NONATOMICフィールドがSPI_connect_extに渡されない限り、このフラグは無視されます)。 @@ -2648,9 +2650,11 @@ int SPI_execute_plan_extended(SPIPlanPtr plan, -trueでCALLとDO文の非原子的実行を許可します +《機械翻訳》は、原子的文とDO文の呼び出し以外の実行を許可します(ただし、SPI_OPT_NONATOMICフィールドがSPI_connect_extに渡されない限り、このフラグは無視されます)。 diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml index 33af6c3ae1a..964d9f83605 100644 --- a/doc/src/sgml/system-views.sgml +++ b/doc/src/sgml/system-views.sgml @@ -4303,20 +4303,51 @@ NULLの場合には満了時間はありません。 -ディスクに書き込まれた最後のシーケンス値。 -キャッシュが使用されている場合、この値はシーケンスから最後に取り出された値より大きくなることがあります。 -シーケンスからまだ読み取られていないときはNULLになります。 -また、現在のユーザがシーケンスについてUSAGEあるいはSELECT権限がない場合も値はNULLになります。 +《機械翻訳》シーケンスに書き込まれた最後のディスク値。 +キャッシュが使用されている場合、この値は、シーケンスから渡された最後のより大きい値になります。 + + + +《機械翻訳》次のいずれかがnullである場合、last_valueカラムは真と読み取られます。 + + + + +《機械翻訳》シーケンスはまだ読み上げられていない。 + + + + + +《機械翻訳》現在ユーザには、シーケンスにUSAGEまたはセレクト権限はありません。 + + + + + +《機械翻訳》シーケンスは伐採されておらず、サーバはスタンバイです。 + + + + + diff --git a/meson.build b/meson.build index f23ea6eec2d..56454cc3395 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '16.3', + version: '16.4', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for @@ -620,31 +620,66 @@ gssapiopt = get_option('gssapi') krb_srvtab = '' have_gssapi = false if not gssapiopt.disabled() - gssapi = dependency('krb5-gssapi', required: gssapiopt) + gssapi = dependency('krb5-gssapi', required: false) have_gssapi = gssapi.found() + if have_gssapi + gssapi_deps = [gssapi] + elif not have_gssapi + # Hardcoded lookup for gssapi. This is necessary as gssapi on windows does + # not install neither pkg-config nor cmake dependency information. + if host_system == 'windows' + is_64 = cc.sizeof('void *', args: test_c_args) == 8 + if is_64 + gssapi_search_libs = ['gssapi64', 'krb5_64', 'comerr64'] + else + gssapi_search_libs = ['gssapi32', 'krb5_32', 'comerr32'] + endif + else + gssapi_search_libs = ['gssapi_krb5'] + endif + + gssapi_deps = [] + foreach libname : gssapi_search_libs + lib = cc.find_library(libname, dirs: test_lib_d, required: false) + if lib.found() + have_gssapi = true + gssapi_deps += lib + endif + endforeach + + if have_gssapi + # Meson before 0.57.0 did not support using check_header() etc with + # declare_dependency(). Thus the tests below use the library looked up + # above. Once we require a newer meson version, we can simplify. + gssapi = declare_dependency(dependencies: gssapi_deps) + endif + endif + if not have_gssapi - elif cc.check_header('gssapi/gssapi.h', dependencies: gssapi, required: false, + elif cc.check_header('gssapi/gssapi.h', dependencies: gssapi_deps, required: false, args: test_c_args, include_directories: postgres_inc) cdata.set('HAVE_GSSAPI_GSSAPI_H', 1) - elif cc.check_header('gssapi.h', args: test_c_args, dependencies: gssapi, required: gssapiopt) + elif cc.check_header('gssapi.h', dependencies: gssapi_deps, required: gssapiopt, + args: test_c_args, include_directories: postgres_inc) cdata.set('HAVE_GSSAPI_H', 1) else have_gssapi = false endif if not have_gssapi - elif cc.check_header('gssapi/gssapi_ext.h', dependencies: gssapi, required: false, + elif cc.check_header('gssapi/gssapi_ext.h', dependencies: gssapi_deps, required: false, args: test_c_args, include_directories: postgres_inc) cdata.set('HAVE_GSSAPI_GSSAPI_EXT_H', 1) - elif cc.check_header('gssapi_ext.h', args: test_c_args, dependencies: gssapi, required: gssapiopt) + elif cc.check_header('gssapi_ext.h', dependencies: gssapi_deps, required: gssapiopt, + args: test_c_args, include_directories: postgres_inc) cdata.set('HAVE_GSSAPI_EXT_H', 1) else have_gssapi = false endif if not have_gssapi - elif cc.has_function('gss_store_cred_into', dependencies: gssapi, + elif cc.has_function('gss_store_cred_into', dependencies: gssapi_deps, args: test_c_args, include_directories: postgres_inc) cdata.set('ENABLE_GSS', 1) @@ -655,6 +690,11 @@ if not gssapiopt.disabled() else have_gssapi = false endif + + if not have_gssapi and gssapiopt.enabled() + error('dependency lookup for gssapi failed') + endif + endif if not have_gssapi gssapi = not_found_dep @@ -765,7 +805,10 @@ if add_languages('cpp', required: llvmopt, native: false) llvm_binpath = llvm.get_variable(configtool: 'bindir') ccache = find_program('ccache', native: true, required: false) - clang = find_program(llvm_binpath / 'clang', required: true) + + # Some distros put LLVM and clang in different paths, so fallback to + # find via PATH, too. + clang = find_program(llvm_binpath / 'clang', 'clang', required: true) endif elif llvmopt.auto() message('llvm requires a C++ compiler') @@ -779,11 +822,25 @@ endif icuopt = get_option('icu') if not icuopt.disabled() - icu = dependency('icu-uc', required: icuopt) - icu_i18n = dependency('icu-i18n', required: icuopt) + icu = dependency('icu-uc', required: false) + if icu.found() + icu_i18n = dependency('icu-i18n', required: true) + endif + + # Unfortunately the dependency is named differently with cmake + if not icu.found() # combine with above once meson 0.60.0 is required + icu = dependency('ICU', required: icuopt, + components: ['uc'], modules: ['ICU::uc'], method: 'cmake') + if icu.found() + icu_i18n = dependency('ICU', required: true, + components: ['i18n'], modules: ['ICU::i18n']) + endif + endif if icu.found() cdata.set('USE_ICU', 1) + else + icu_i18n = not_found_dep endif else @@ -799,7 +856,12 @@ endif libxmlopt = get_option('libxml') if not libxmlopt.disabled() - libxml = dependency('libxml-2.0', required: libxmlopt, version: '>= 2.6.23') + libxml = dependency('libxml-2.0', required: false, version: '>= 2.6.23') + # Unfortunately the dependency is named differently with cmake + if not libxml.found() # combine with above once meson 0.60.0 is required + libxml = dependency('LibXml2', required: libxmlopt, version: '>= 2.6.23', + method: 'cmake') + endif if libxml.found() cdata.set('USE_LIBXML', 1) @@ -816,7 +878,11 @@ endif libxsltopt = get_option('libxslt') if not libxsltopt.disabled() - libxslt = dependency('libxslt', required: libxsltopt) + libxslt = dependency('libxslt', required: false) + # Unfortunately the dependency is named differently with cmake + if not libxslt.found() # combine with above once meson 0.60.0 is required + libxslt = dependency('LibXslt', required: libxsltopt, method: 'cmake') + endif if libxslt.found() cdata.set('USE_LIBXSLT', 1) @@ -833,7 +899,13 @@ endif lz4opt = get_option('lz4') if not lz4opt.disabled() - lz4 = dependency('liblz4', required: lz4opt) + lz4 = dependency('liblz4', required: false) + # Unfortunately the dependency is named differently with cmake + if not lz4.found() # combine with above once meson 0.60.0 is required + lz4 = dependency('lz4', required: lz4opt, + method: 'cmake', modules: ['LZ4::lz4_shared'], + ) + endif if lz4.found() cdata.set('USE_LZ4', 1) @@ -1069,7 +1141,7 @@ if not pyopt.disabled() if python3_inst.found() python3_dep = python3_inst.dependency(embed: true, required: pyopt) # Remove this check after we depend on Meson >= 1.1.0 - if not cc.check_header('Python.h', dependencies: python3_dep, required: pyopt) + if not cc.check_header('Python.h', dependencies: python3_dep, required: pyopt, include_directories: postgres_inc) python3_dep = not_found_dep endif endif @@ -1083,15 +1155,26 @@ endif if not get_option('readline').disabled() libedit_preferred = get_option('libedit_preferred') - # Set the order of readline dependencies - check_readline_deps = libedit_preferred ? \ - ['libedit', 'readline'] : ['readline', 'libedit'] + # Set the order of readline dependencies. + # cc.find_library breaks and throws on the first dependency which + # is marked as required=true and can't be found. Thus, we only mark + # the last dependency to look up as required, to not throw too early. + check_readline_deps = [ + { + 'name': libedit_preferred ? 'libedit' : 'readline', + 'required': false + }, + { + 'name': libedit_preferred ? 'readline' : 'libedit', + 'required': get_option('readline') + } + ] foreach readline_dep : check_readline_deps - readline = dependency(readline_dep, required: false) + readline = dependency(readline_dep['name'], required: false) if not readline.found() - readline = cc.find_library(readline_dep, - required: get_option('readline'), + readline = cc.find_library(readline_dep['name'], + required: readline_dep['required'], dirs: test_lib_d) endif if readline.found() @@ -1300,6 +1383,7 @@ if sslopt in ['auto', 'openssl'] # Function introduced in OpenSSL 1.1.1 ['X509_get_signature_info'], + ['SSL_CTX_set_num_tickets'], ] are_openssl_funcs_complete = true @@ -1353,9 +1437,26 @@ if uuidopt != 'none' uuidfunc = 'uuid_to_string' uuidheader = 'uuid.h' elif uuidopt == 'ossp' - uuid = dependency('ossp-uuid', required: true) + # In upstream, the package and library is called just 'uuid', but many + # distros change it to 'ossp-uuid'. + uuid = dependency('ossp-uuid', 'uuid', required: false) uuidfunc = 'uuid_export' uuidheader = 'uuid.h' + + # Hardcoded lookup for ossp-uuid. This is necessary as ossp-uuid on + # windows installs neither a pkg-config nor a cmake dependency + # information. Nor is there another supported uuid implementation + # available on windows. + if not uuid.found() + uuid = cc.find_library('ossp-uuid', + required: false, dirs: test_lib_d, + has_headers: uuidheader, header_include_directories: postgres_inc) + endif + if not uuid.found() + uuid = cc.find_library('uuid', + required: true, dirs: test_lib_d, + has_headers: uuidheader, header_include_directories: postgres_inc) + endif else error('unknown uuid build option value: @0@'.format(uuidopt)) endif @@ -1441,7 +1542,12 @@ endif zstdopt = get_option('zstd') if not zstdopt.disabled() - zstd = dependency('libzstd', required: zstdopt, version: '>=1.4.0') + zstd = dependency('libzstd', required: false, version: '>=1.4.0') + # Unfortunately the dependency is named differently with cmake + if not zstd.found() # combine with above once meson 0.60.0 is required + zstd = dependency('zstd', required: zstdopt, version: '>=1.4.0', + method: 'cmake', modules: ['zstd::libzstd_shared']) + endif if zstd.found() cdata.set('USE_ZSTD', 1) @@ -3043,15 +3149,17 @@ test_install_destdir = meson.build_root() / 'tmp_install/' if build_system != 'windows' # On unixoid systems this is trivial, we just prepend the destdir assert(dir_prefix.startswith('/')) # enforced by meson - test_install_location = '@0@@1@'.format(test_install_destdir, dir_prefix) + temp_install_bindir = '@0@@1@'.format(test_install_destdir, dir_prefix / dir_bin) + temp_install_libdir = '@0@@1@'.format(test_install_destdir, dir_prefix / dir_lib) else # drives, drive-relative paths, etc make this complicated on windows, call # into a copy of meson's logic for it command = [ python, '-c', 'import sys; from pathlib import PurePath; d1=sys.argv[1]; d2=sys.argv[2]; print(str(PurePath(d1, *PurePath(d2).parts[1:])))', - test_install_destdir, dir_prefix] - test_install_location = run_command(command, check: true).stdout().strip() + test_install_destdir] + temp_install_bindir = run_command(command, dir_prefix / dir_bin, check: true).stdout().strip() + temp_install_libdir = run_command(command, dir_prefix / dir_lib, check: true).stdout().strip() endif meson_install_args = meson_args + ['install'] + { @@ -3088,7 +3196,7 @@ testport = 40000 test_env = environment() -temp_install_bindir = test_install_location / get_option('bindir') +test_initdb_template = meson.build_root() / 'tmp_install' / 'initdb-template' test_env.set('PG_REGRESS', pg_regress.full_path()) test_env.set('REGRESS_SHLIB', regress_module.full_path()) @@ -3101,7 +3209,7 @@ test_env.set('PG_TEST_EXTRA', get_option('PG_TEST_EXTRA')) # that works (everything but windows, basically). On windows everything # library-like gets installed into bindir, solving that issue. if library_path_var != '' - test_env.prepend(library_path_var, test_install_location / get_option('libdir')) + test_env.prepend(library_path_var, temp_install_libdir) endif diff --git a/src/backend/access/hash/hashfunc.c b/src/backend/access/hash/hashfunc.c index 37646cc9a10..ac21884162f 100644 --- a/src/backend/access/hash/hashfunc.c +++ b/src/backend/access/hash/hashfunc.c @@ -300,7 +300,9 @@ hashtext(PG_FUNCTION_ARGS) buf = palloc(bsize + 1); rsize = pg_strnxfrm(buf, bsize + 1, keydata, keylen, mylocale); - if (rsize != bsize) + + /* the second call may return a smaller value than the first */ + if (rsize > bsize) elog(ERROR, "pg_strnxfrm() returned unexpected result"); /* @@ -354,7 +356,9 @@ hashtextextended(PG_FUNCTION_ARGS) buf = palloc(bsize + 1); rsize = pg_strnxfrm(buf, bsize + 1, keydata, keylen, mylocale); - if (rsize != bsize) + + /* the second call may return a smaller value than the first */ + if (rsize > bsize) elog(ERROR, "pg_strnxfrm() returned unexpected result"); /* diff --git a/src/backend/access/heap/pruneheap.c b/src/backend/access/heap/pruneheap.c index 47b9e209154..c2c20d4b3bc 100644 --- a/src/backend/access/heap/pruneheap.c +++ b/src/backend/access/heap/pruneheap.c @@ -33,7 +33,8 @@ typedef struct { Relation rel; - /* tuple visibility test, initialized for the relation */ + /* State used to test tuple visibility; Initialized for the relation */ + TransactionId oldest_xmin; GlobalVisState *vistest; /* @@ -205,7 +206,8 @@ heap_page_prune_opt(Relation relation, Buffer buffer) int ndeleted, nnewlpdead; - ndeleted = heap_page_prune(relation, buffer, vistest, limited_xmin, + ndeleted = heap_page_prune(relation, buffer, InvalidTransactionId, + vistest, limited_xmin, limited_ts, &nnewlpdead, NULL); /* @@ -247,11 +249,14 @@ heap_page_prune_opt(Relation relation, Buffer buffer) * also need to account for a reduction in the length of the line pointer * array following array truncation by us. * - * vistest is used to distinguish whether tuples are DEAD or RECENTLY_DEAD - * (see heap_prune_satisfies_vacuum and - * HeapTupleSatisfiesVacuum). old_snap_xmin / old_snap_ts need to - * either have been set by TransactionIdLimitedForOldSnapshots, or - * InvalidTransactionId/0 respectively. + * vistest and oldest_xmin are used to distinguish whether tuples are DEAD or + * RECENTLY_DEAD (see heap_prune_satisfies_vacuum and + * HeapTupleSatisfiesVacuum). If oldest_xmin is provided by the caller, it is + * used before consulting GlobalVisState. + * + * old_snap_xmin / old_snap_ts need to either have been set by + * TransactionIdLimitedForOldSnapshots, or InvalidTransactionId/0 + * respectively. * * Sets *nnewlpdead for caller, indicating the number of items that were * newly set LP_DEAD during prune operation. @@ -263,6 +268,7 @@ heap_page_prune_opt(Relation relation, Buffer buffer) */ int heap_page_prune(Relation relation, Buffer buffer, + TransactionId oldest_xmin, GlobalVisState *vistest, TransactionId old_snap_xmin, TimestampTz old_snap_ts, @@ -290,6 +296,7 @@ heap_page_prune(Relation relation, Buffer buffer, */ prstate.new_prune_xid = InvalidTransactionId; prstate.rel = relation; + prstate.oldest_xmin = oldest_xmin; prstate.vistest = vistest; prstate.old_snap_xmin = old_snap_xmin; prstate.old_snap_ts = old_snap_ts; @@ -520,13 +527,31 @@ heap_prune_satisfies_vacuum(PruneState *prstate, HeapTuple tup, Buffer buffer) } /* - * First check if GlobalVisTestIsRemovableXid() is sufficient to find the - * row dead. If not, and old_snapshot_threshold is enabled, try to use the - * lowered horizon. + * For VACUUM, we must be sure to prune tuples with xmax older than + * oldest_xmin -- a visibility cutoff determined at the beginning of + * vacuuming the relation. oldest_xmin is used for freezing determination + * and we cannot freeze dead tuples' xmaxes. + */ + if (TransactionIdIsValid(prstate->oldest_xmin) && + NormalTransactionIdPrecedes(dead_after, prstate->oldest_xmin)) + return HEAPTUPLE_DEAD; + + /* + * Determine whether or not the tuple is considered dead when compared + * with the provided GlobalVisState. On-access pruning does not provide + * oldest_xmin. And for vacuum, even if the tuple's xmax is not older than + * oldest_xmin, GlobalVisTestIsRemovableXid() could find the row dead if + * the GlobalVisState has been updated since the beginning of vacuuming + * the relation. */ if (GlobalVisTestIsRemovableXid(prstate->vistest, dead_after)) - res = HEAPTUPLE_DEAD; - else if (OldSnapshotThresholdActive()) + return HEAPTUPLE_DEAD; + + /* + * If GlobalVisTestIsRemovableXid() is not sufficient to find the row dead + * and old_snapshot_threshold is enabled, try to use the lowered horizon. + */ + if (OldSnapshotThresholdActive()) { /* haven't determined limited horizon yet, requests */ if (!TransactionIdIsValid(prstate->old_snap_xmin)) diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index c474b061146..9fa88960ada 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -1581,7 +1581,8 @@ lazy_scan_prune(LVRelState *vacrel, * lpdead_items's final value can be thought of as the number of tuples * that were deleted from indexes. */ - tuples_deleted = heap_page_prune(rel, buf, vacrel->vistest, + tuples_deleted = heap_page_prune(rel, buf, vacrel->cutoffs.OldestXmin, + vacrel->vistest, InvalidTransactionId, 0, &nnewlpdead, &vacrel->offnum); diff --git a/src/backend/access/spgist/spgutils.c b/src/backend/access/spgist/spgutils.c index 26499166e7c..5fa9e230c08 100644 --- a/src/backend/access/spgist/spgutils.c +++ b/src/backend/access/spgist/spgutils.c @@ -356,7 +356,18 @@ initSpGistState(SpGistState *state, Relation index) /* Make workspace for constructing dead tuples */ state->deadTupleStorage = palloc0(SGDTSIZE); - /* Set XID to use in redirection tuples */ + /* + * Set horizon XID to use in redirection tuples. Use our own XID if we + * have one, else use InvalidTransactionId. The latter case can happen in + * VACUUM or REINDEX CONCURRENTLY, and in neither case would it be okay to + * force an XID to be assigned. VACUUM won't create any redirection + * tuples anyway, but REINDEX CONCURRENTLY can. Fortunately, REINDEX + * CONCURRENTLY doesn't mark the index valid until the end, so there could + * never be any concurrent scans "in flight" to a redirection tuple it has + * inserted. And it locks out VACUUM until the end, too. So it's okay + * for VACUUM to immediately expire a redirection tuple that contains an + * invalid xid. + */ state->myXid = GetTopTransactionIdIfAny(); /* Assume we're not in an index build (spgbuild will override) */ @@ -1073,7 +1084,6 @@ spgFormDeadTuple(SpGistState *state, int tupstate, if (tupstate == SPGIST_REDIRECT) { ItemPointerSet(&tuple->pointer, blkno, offnum); - Assert(TransactionIdIsValid(state->myXid)); tuple->xid = state->myXid; } else diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c index 8a5b540c809..85bc02b92c8 100644 --- a/src/backend/access/spgist/spgvacuum.c +++ b/src/backend/access/spgist/spgvacuum.c @@ -189,7 +189,9 @@ vacuumLeafPage(spgBulkDeleteState *bds, Relation index, Buffer buffer, /* * Add target TID to pending list if the redirection could have - * happened since VACUUM started. + * happened since VACUUM started. (If xid is invalid, assume it + * must have happened before VACUUM started, since REINDEX + * CONCURRENTLY locks out VACUUM.) * * Note: we could make a tighter test by seeing if the xid is * "running" according to the active snapshot; but snapmgr.c @@ -524,8 +526,17 @@ vacuumRedirectAndPlaceholder(Relation index, Relation heaprel, Buffer buffer) dt = (SpGistDeadTuple) PageGetItem(page, PageGetItemId(page, i)); + /* + * We can convert a REDIRECT to a PLACEHOLDER if there could no longer + * be any index scans "in flight" to it. Such an index scan would + * have to be in a transaction whose snapshot sees the REDIRECT's XID + * as still running, so comparing the XID against global xmin is a + * conservatively safe test. If the XID is invalid, it must have been + * inserted by REINDEX CONCURRENTLY, so we can zap it immediately. + */ if (dt->tupstate == SPGIST_REDIRECT && - GlobalVisTestIsRemovableXid(vistest, dt->xid)) + (!TransactionIdIsValid(dt->xid) || + GlobalVisTestIsRemovableXid(vistest, dt->xid))) { dt->tupstate = SPGIST_PLACEHOLDER; Assert(opaque->nRedirection > 0); diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index abb022e0670..3a2d7055c42 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -2828,6 +2828,7 @@ MultiXactMemberFreezeThreshold(void) uint32 multixacts; uint32 victim_multixacts; double fraction; + int result; /* If we can't determine member space utilization, assume the worst. */ if (!ReadMultiXactCounts(&multixacts, &members)) @@ -2849,7 +2850,13 @@ MultiXactMemberFreezeThreshold(void) /* fraction could be > 1.0, but lowest possible freeze age is zero */ if (victim_multixacts > multixacts) return 0; - return multixacts - victim_multixacts; + result = multixacts - victim_multixacts; + + /* + * Clamp to autovacuum_multixact_freeze_max_age, so that we never make + * autovacuum less aggressive than it would otherwise be. + */ + return Min(result, autovacuum_multixact_freeze_max_age); } typedef struct mxtruncinfo diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index c6af8cfd7e2..f6166816f58 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -2011,9 +2011,8 @@ PrescanPreparedTransactions(TransactionId **xids_p, int *nxids_p) * This is never called at the end of recovery - we use * RecoverPreparedTransactions() at that point. * - * The lack of calls to SubTransSetParent() calls here is by design; - * those calls are made by RecoverPreparedTransactions() at the end of recovery - * for those xacts that need this. + * This updates pg_subtrans, so that any subtransactions will be correctly + * seen as in-progress in snapshots taken during recovery. */ void StandbyRecoverPreparedTransactions(void) @@ -2033,7 +2032,7 @@ StandbyRecoverPreparedTransactions(void) buf = ProcessTwoPhaseBuffer(xid, gxact->prepare_start_lsn, - gxact->ondisk, false, false); + gxact->ondisk, true, false); if (buf != NULL) pfree(buf); } diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 06235073ce5..a19ba7167fd 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5420,6 +5420,9 @@ StartupXLOG(void) RunningTransactionsData running; TransactionId latestCompletedXid; + /* Update pg_subtrans entries for any prepared transactions */ + StandbyRecoverPreparedTransactions(); + /* * Construct a RunningTransactions snapshot representing a * shut down server, with only prepared transactions still @@ -5428,7 +5431,7 @@ StartupXLOG(void) */ running.xcnt = nxids; running.subxcnt = 0; - running.subxid_overflow = false; + running.subxid_status = SUBXIDS_IN_SUBTRANS; running.nextXid = XidFromFullTransactionId(checkPoint.nextXid); running.oldestRunningXid = oldestActiveXID; latestCompletedXid = XidFromFullTransactionId(checkPoint.nextXid); @@ -5438,8 +5441,6 @@ StartupXLOG(void) running.xids = xids; ProcArrayApplyRecoveryInfo(&running); - - StandbyRecoverPreparedTransactions(); } } @@ -6701,6 +6702,12 @@ CreateCheckPoint(int flags) { do { + /* + * Keep absorbing fsync requests while we wait. There could even + * be a deadlock if we don't, if the process that prevents the + * checkpoint is trying to add a request to the queue. + */ + AbsorbSyncRequests(); pg_usleep(10000L); /* wait for 10 msec */ } while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids, DELAY_CHKPT_START)); @@ -6714,6 +6721,7 @@ CreateCheckPoint(int flags) { do { + AbsorbSyncRequests(); pg_usleep(10000L); /* wait for 10 msec */ } while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids, DELAY_CHKPT_COMPLETE)); @@ -7801,6 +7809,9 @@ xlog_redo(XLogReaderState *record) oldestActiveXID = PrescanPreparedTransactions(&xids, &nxids); + /* Update pg_subtrans entries for any prepared transactions */ + StandbyRecoverPreparedTransactions(); + /* * Construct a RunningTransactions snapshot representing a shut * down server, with only prepared transactions still alive. We're @@ -7809,7 +7820,7 @@ xlog_redo(XLogReaderState *record) */ running.xcnt = nxids; running.subxcnt = 0; - running.subxid_overflow = false; + running.subxid_status = SUBXIDS_IN_SUBTRANS; running.nextXid = XidFromFullTransactionId(checkPoint.nextXid); running.oldestRunningXid = oldestActiveXID; latestCompletedXid = XidFromFullTransactionId(checkPoint.nextXid); @@ -7819,8 +7830,6 @@ xlog_redo(XLogReaderState *record) running.xids = xids; ProcArrayApplyRecoveryInfo(&running); - - StandbyRecoverPreparedTransactions(); } /* ControlFile->checkPointCopy always tracks the latest ckpt XID */ diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c index 1bf6c5633cd..05e34dbfee3 100644 --- a/src/backend/catalog/catalog.c +++ b/src/backend/catalog/catalog.c @@ -137,6 +137,27 @@ IsCatalogRelationOid(Oid relid) return (relid < (Oid) FirstUnpinnedObjectId); } +/* + * IsInplaceUpdateRelation + * True iff core code performs inplace updates on the relation. + */ +bool +IsInplaceUpdateRelation(Relation relation) +{ + return IsInplaceUpdateOid(RelationGetRelid(relation)); +} + +/* + * IsInplaceUpdateOid + * Like the above, but takes an OID as argument. + */ +bool +IsInplaceUpdateOid(Oid relid) +{ + return (relid == RelationRelationId || + relid == DatabaseRelationId); +} + /* * IsToastRelation * True iff relation is a TOAST support relation (or index). diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c index 9af2cab29d7..494738824cb 100644 --- a/src/backend/catalog/dependency.c +++ b/src/backend/catalog/dependency.c @@ -1382,7 +1382,9 @@ deleteOneObject(const ObjectAddress *object, Relation *depRel, int flags) /* * Delete any comments, security labels, or initial privileges associated * with this object. (This is a convenient place to do these things, - * rather than having every object type know to do it.) + * rather than having every object type know to do it.) As above, all + * these functions must remove records for sub-objects too if the subid is + * zero. */ DeleteComments(object->objectId, object->classId, object->objectSubId); DeleteSecurityLabel(object); @@ -2992,6 +2994,7 @@ DeleteInitPrivs(const ObjectAddress *object) { Relation relation; ScanKeyData key[3]; + int nkeys; SysScanDesc scan; HeapTuple oldtuple; @@ -3005,13 +3008,19 @@ DeleteInitPrivs(const ObjectAddress *object) Anum_pg_init_privs_classoid, BTEqualStrategyNumber, F_OIDEQ, ObjectIdGetDatum(object->classId)); - ScanKeyInit(&key[2], - Anum_pg_init_privs_objsubid, - BTEqualStrategyNumber, F_INT4EQ, - Int32GetDatum(object->objectSubId)); + if (object->objectSubId != 0) + { + ScanKeyInit(&key[2], + Anum_pg_init_privs_objsubid, + BTEqualStrategyNumber, F_INT4EQ, + Int32GetDatum(object->objectSubId)); + nkeys = 3; + } + else + nkeys = 2; scan = systable_beginscan(relation, InitPrivsObjIndexId, true, - NULL, 3, key); + NULL, nkeys, key); while (HeapTupleIsValid(oldtuple = systable_getnext(scan))) CatalogTupleDelete(relation, &oldtuple->t_self); diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 531616ef462..e7b83103f34 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -1239,6 +1239,13 @@ heap_create_with_catalog(const char *relname, relpersistence); } + /* + * Other sessions' catalog scans can't find this until we commit. Hence, + * it doesn't hurt to hold AccessExclusiveLock. Do it here so callers + * can't accidentally vary in their lock mode or acquisition timing. + */ + LockRelationOid(relid, AccessExclusiveLock); + /* * Determine the relation's initial permissions. */ @@ -3514,6 +3521,14 @@ StorePartitionBound(Relation rel, Relation parent, PartitionBoundSpec *bound) new_val, new_null, new_repl); /* Also set the flag */ ((Form_pg_class) GETSTRUCT(newtuple))->relispartition = true; + + /* + * We already checked for no inheritance children, but reset + * relhassubclass in case it was left over. + */ + if (rel->rd_rel->relkind == RELKIND_RELATION && rel->rd_rel->relhassubclass) + ((Form_pg_class) GETSTRUCT(newtuple))->relhassubclass = false; + CatalogTupleUpdate(classRel, &newtuple->t_self, newtuple); heap_freetuple(newtuple); table_close(classRel, RowExclusiveLock); diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 1cc6714e8cb..6f1910a6e0f 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -1046,6 +1046,7 @@ index_create(Relation heapRelation, if (OidIsValid(parentIndexRelid)) { StoreSingleInheritance(indexRelationId, parentIndexRelid, 1); + LockRelationOid(parentIndexRelid, ShareUpdateExclusiveLock); SetRelationHasSubclass(parentIndexRelid, true); } diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index fb5a47daf37..bda364552ca 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -636,7 +636,11 @@ do_analyze_rel(Relation onerel, VacuumParams *params, visibilitymap_count(onerel, &relallvisible, NULL); - /* Update pg_class for table relation */ + /* + * Update pg_class for table relation. CCI first, in case acquirefunc + * updated pg_class. + */ + CommandCounterIncrement(); vac_update_relstats(onerel, relpages, totalrows, @@ -671,6 +675,7 @@ do_analyze_rel(Relation onerel, VacuumParams *params, * Partitioned tables don't have storage, so we don't set any fields * in their pg_class entries except for reltuples and relhasindex. */ + CommandCounterIncrement(); vac_update_relstats(onerel, -1, totalrows, 0, hasindex, InvalidTransactionId, InvalidMultiXactId, diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index ef909cf4e08..d6a91a9eaac 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -2236,6 +2236,8 @@ asyncQueueAdvanceTail(void) static void ProcessIncomingNotify(bool flush) { + MemoryContext oldcontext; + /* We *must* reset the flag */ notifyInterruptPending = false; @@ -2250,14 +2252,21 @@ ProcessIncomingNotify(bool flush) /* * We must run asyncQueueReadAllNotifications inside a transaction, else - * bad things happen if it gets an error. + * bad things happen if it gets an error. However, we need to preserve + * the caller's memory context (typically MessageContext). */ + oldcontext = CurrentMemoryContext; + StartTransactionCommand(); asyncQueueReadAllNotifications(); CommitTransactionCommand(); + /* Caller's context had better not have been transaction-local */ + Assert(MemoryContextIsValid(oldcontext)); + MemoryContextSwitchTo(oldcontext); + /* * If this isn't an end-of-command case, we must flush the notify messages * to ensure frontend gets them promptly. diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 49c7864c7cf..f63b5ef420b 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -56,6 +56,7 @@ #include "executor/functions.h" #include "funcapi.h" #include "miscadmin.h" +#include "nodes/nodeFuncs.h" #include "optimizer/optimizer.h" #include "parser/analyze.h" #include "parser/parse_coerce.h" @@ -2366,5 +2367,32 @@ CallStmtResultDesc(CallStmt *stmt) ReleaseSysCache(tuple); + /* + * The result of build_function_result_tupdesc_t has the right column + * names, but it just has the declared output argument types, which is the + * wrong thing in polymorphic cases. Get the correct types by examining + * stmt->outargs. We intentionally keep the atttypmod as -1 and the + * attcollation as the type's default, since that's always the appropriate + * thing for function outputs; there's no point in considering any + * additional info available from outargs. Note that tupdesc is null if + * there are no outargs. + */ + if (tupdesc) + { + Assert(tupdesc->natts == list_length(stmt->outargs)); + for (int i = 0; i < tupdesc->natts; i++) + { + Form_pg_attribute att = TupleDescAttr(tupdesc, i); + Node *outarg = (Node *) list_nth(stmt->outargs, i); + + TupleDescInitEntry(tupdesc, + i + 1, + NameStr(att->attname), + exprType(outarg), + -1, + 0); + } + } + return tupdesc; } diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index e4c792228fc..21ed483b7fa 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -4304,7 +4304,10 @@ IndexSetParentIndex(Relation partitionIdx, Oid parentOid) /* set relhassubclass if an index partition has been added to the parent */ if (OidIsValid(parentOid)) + { + LockRelationOid(parentOid, ShareUpdateExclusiveLock); SetRelationHasSubclass(parentOid, true); + } /* set relispartition correctly on the partition */ update_relispartition(partRelid, OidIsValid(parentOid)); diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index c7e262c0fcc..d69deed1c5a 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -557,6 +557,13 @@ SequenceChangePersistence(Oid relid, char newrelpersistence) Buffer buf; HeapTupleData seqdatatuple; + /* + * ALTER SEQUENCE acquires this lock earlier. If we're processing an + * owned sequence for ALTER TABLE, lock now. Without the lock, we'd + * discard increments from nextval() calls (in other sessions) between + * this function's buffer unlock and this transaction's commit. + */ + LockRelationOid(relid, AccessExclusiveLock); init_sequence(relid, &elm, &seqrel); /* check the comment above nextval_internal()'s equivalent call. */ @@ -1795,11 +1802,8 @@ pg_sequence_last_value(PG_FUNCTION_ARGS) Oid relid = PG_GETARG_OID(0); SeqTable elm; Relation seqrel; - Buffer buf; - HeapTupleData seqtuple; - Form_pg_sequence_data seq; - bool is_called; - int64 result; + bool is_called = false; + int64 result = 0; /* open and lock sequence */ init_sequence(relid, &elm, &seqrel); @@ -1810,12 +1814,28 @@ pg_sequence_last_value(PG_FUNCTION_ARGS) errmsg("permission denied for sequence %s", RelationGetRelationName(seqrel)))); - seq = read_seq_tuple(seqrel, &buf, &seqtuple); + /* + * We return NULL for other sessions' temporary sequences. The + * pg_sequences system view already filters those out, but this offers a + * defense against ERRORs in case someone invokes this function directly. + * + * Also, for the benefit of the pg_sequences view, we return NULL for + * unlogged sequences on standbys instead of throwing an error. + */ + if (!RELATION_IS_OTHER_TEMP(seqrel) && + (RelationIsPermanent(seqrel) || !RecoveryInProgress())) + { + Buffer buf; + HeapTupleData seqtuple; + Form_pg_sequence_data seq; + + seq = read_seq_tuple(seqrel, &buf, &seqtuple); - is_called = seq->is_called; - result = seq->last_value; + is_called = seq->is_called; + result = seq->last_value; - UnlockReleaseBuffer(buf); + UnlockReleaseBuffer(buf); + } relation_close(seqrel, NoLock); if (is_called) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 0f79c81a454..b4eeb2523a2 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -388,6 +388,7 @@ static CoercionPathType findFkeyCast(Oid targetTypeId, Oid sourceTypeId, static void validateForeignKeyConstraint(char *conname, Relation rel, Relation pkrel, Oid pkindOid, Oid constraintOid); +static void CheckAlterTableIsSafe(Relation rel); static void ATController(AlterTableStmt *parsetree, Relation rel, List *cmds, bool recurse, LOCKMODE lockmode, AlterTableUtilityContext *context); @@ -3324,8 +3325,15 @@ findAttrByName(const char *attributeName, List *schema) * SetRelationHasSubclass * Set the value of the relation's relhassubclass field in pg_class. * - * NOTE: caller must be holding an appropriate lock on the relation. - * ShareUpdateExclusiveLock is sufficient. + * It's always safe to set this field to true, because all SQL commands are + * ready to see true and then find no children. On the other hand, commands + * generally assume zero children if this is false. + * + * Caller must hold any self-exclusive lock until end of transaction. If the + * new value is false, caller must have acquired that lock before reading the + * evidence that justified the false value. That way, it properly waits if + * another backend is simultaneously concluding no need to change the tuple + * (new and old values are true). * * NOTE: an important side-effect of this operation is that an SI invalidation * message is sent out to all backends --- including me --- causing plans @@ -3340,6 +3348,11 @@ SetRelationHasSubclass(Oid relationId, bool relhassubclass) HeapTuple tuple; Form_pg_class classtuple; + Assert(CheckRelationOidLockedByMe(relationId, + ShareUpdateExclusiveLock, false) || + CheckRelationOidLockedByMe(relationId, + ShareRowExclusiveLock, true)); + /* * Fetch a modifiable copy of the tuple, modify it, update pg_class. */ @@ -4111,6 +4124,37 @@ CheckTableNotInUse(Relation rel, const char *stmt) stmt, RelationGetRelationName(rel)))); } +/* + * CheckAlterTableIsSafe + * Verify that it's safe to allow ALTER TABLE on this relation. + * + * This consists of CheckTableNotInUse() plus a check that the relation + * isn't another session's temp table. We must split out the temp-table + * check because there are callers of CheckTableNotInUse() that don't want + * that, notably DROP TABLE. (We must allow DROP or we couldn't clean out + * an orphaned temp schema.) Compare truncate_check_activity(). + */ +static void +CheckAlterTableIsSafe(Relation rel) +{ + /* + * Don't allow ALTER on temp tables of other backends. Their local buffer + * manager is not going to cope if we need to change the table's contents. + * Even if we don't, there may be optimizations that assume temp tables + * aren't subject to such interference. + */ + if (RELATION_IS_OTHER_TEMP(rel)) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter temporary tables of other sessions"))); + + /* + * Also check for active uses of the relation in the current transaction, + * including open scans and pending AFTER trigger events. + */ + CheckTableNotInUse(rel, "ALTER TABLE"); +} + /* * AlterTableLookupRelation * Look up, and lock, the OID for the relation named by an alter table @@ -4184,7 +4228,7 @@ AlterTable(AlterTableStmt *stmt, LOCKMODE lockmode, /* Caller is required to provide an adequate lock. */ rel = relation_open(context->relid, NoLock); - CheckTableNotInUse(rel, "ALTER TABLE"); + CheckAlterTableIsSafe(rel); ATController(stmt, rel, stmt->cmds, stmt->relation->inh, lockmode, context); } @@ -5541,7 +5585,9 @@ ATRewriteTables(AlterTableStmt *parsetree, List **wqueue, LOCKMODE lockmode, /* * Don't allow rewrite on temp tables of other backends ... their - * local buffer manager is not going to cope. + * local buffer manager is not going to cope. (This is redundant + * with the check in CheckAlterTableIsSafe, but for safety we'll + * check here too.) */ if (RELATION_IS_OTHER_TEMP(OldHeap)) ereport(ERROR, @@ -6405,7 +6451,7 @@ ATSimpleRecursion(List **wqueue, Relation rel, continue; /* find_all_inheritors already got lock */ childrel = relation_open(childrelid, NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); ATPrepCmd(wqueue, childrel, cmd, false, true, lockmode, context); relation_close(childrel, NoLock); } @@ -6414,7 +6460,7 @@ ATSimpleRecursion(List **wqueue, Relation rel, /* * Obtain list of partitions of the given table, locking them all at the given - * lockmode and ensuring that they all pass CheckTableNotInUse. + * lockmode and ensuring that they all pass CheckAlterTableIsSafe. * * This function is a no-op if the given relation is not a partitioned table; * in particular, nothing is done if it's a legacy inheritance parent. @@ -6435,7 +6481,7 @@ ATCheckPartitionsNotInUse(Relation rel, LOCKMODE lockmode) /* find_all_inheritors already got lock */ childrel = table_open(lfirst_oid(cell), NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); table_close(childrel, NoLock); } list_free(inh); @@ -6468,7 +6514,7 @@ ATTypedTableRecursion(List **wqueue, Relation rel, AlterTableCmd *cmd, Relation childrel; childrel = relation_open(childrelid, lockmode); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); ATPrepCmd(wqueue, childrel, cmd, true, true, lockmode, context); relation_close(childrel, NoLock); } @@ -7180,7 +7226,7 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel, /* find_inheritance_children already got lock */ childrel = table_open(childrelid, NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); /* Find or create work queue entry for this table */ childtab = ATGetQueueEntry(wqueue, childrel); @@ -8612,7 +8658,7 @@ ATExecDropColumn(List **wqueue, Relation rel, const char *colName, /* find_inheritance_children already got lock */ childrel = table_open(childrelid, NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); tuple = SearchSysCacheCopyAttName(childrelid, colName); if (!HeapTupleIsValid(tuple)) /* shouldn't happen */ @@ -9095,7 +9141,7 @@ ATAddCheckConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel, /* find_inheritance_children already got lock */ childrel = table_open(childrelid, NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); /* Find or create work queue entry for this table */ childtab = ATGetQueueEntry(wqueue, childrel); @@ -9924,7 +9970,7 @@ addFkRecurseReferencing(List **wqueue, Constraint *fkconstraint, Relation rel, referenced; ListCell *cell; - CheckTableNotInUse(partition, "ALTER TABLE"); + CheckAlterTableIsSafe(partition); attmap = build_attrmap_by_name(RelationGetDescr(partition), RelationGetDescr(rel), @@ -12045,7 +12091,7 @@ ATExecDropConstraint(Relation rel, const char *constrName, /* Must match lock taken by RemoveTriggerById: */ frel = table_open(con->confrelid, AccessExclusiveLock); - CheckTableNotInUse(frel, "ALTER TABLE"); + CheckAlterTableIsSafe(frel); table_close(frel, NoLock); } @@ -12123,7 +12169,7 @@ ATExecDropConstraint(Relation rel, const char *constrName, /* find_inheritance_children already got lock */ childrel = table_open(childrelid, NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); ScanKeyInit(&skey[0], Anum_pg_constraint_conrelid, @@ -12426,7 +12472,7 @@ ATPrepAlterColumnType(List **wqueue, /* find_all_inheritors already got lock */ childrel = relation_open(childrelid, NoLock); - CheckTableNotInUse(childrel, "ALTER TABLE"); + CheckAlterTableIsSafe(childrel); /* * Verify that the child doesn't have any inherited definitions of @@ -18715,22 +18761,31 @@ DetachPartitionFinalize(Relation rel, Relation partRel, bool concurrent, foreach(cell, indexes) { Oid idxid = lfirst_oid(cell); + Oid parentidx; Relation idx; Oid constrOid; + Oid parentConstrOid; if (!has_superclass(idxid)) continue; - Assert((IndexGetRelation(get_partition_parent(idxid, false), false) == - RelationGetRelid(rel))); + parentidx = get_partition_parent(idxid, false); + Assert((IndexGetRelation(parentidx, false) == RelationGetRelid(rel))); idx = index_open(idxid, AccessExclusiveLock); IndexSetParentIndex(idx, InvalidOid); - /* If there's a constraint associated with the index, detach it too */ + /* + * If there's a constraint associated with the index, detach it too. + * Careful: it is possible for a constraint index in a partition to be + * the child of a non-constraint index, so verify whether the parent + * index does actually have a constraint. + */ constrOid = get_relation_idx_constraint_oid(RelationGetRelid(partRel), idxid); - if (OidIsValid(constrOid)) + parentConstrOid = get_relation_idx_constraint_oid(RelationGetRelid(rel), + parentidx); + if (OidIsValid(parentConstrOid) && OidIsValid(constrOid)) ConstraintSetParentConstraint(constrOid, InvalidOid, InvalidOid); index_close(idx, NoLock); diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 6c651cf71df..8b1d3b99fe9 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -4296,8 +4296,12 @@ AfterTriggerExecute(EState *estate, bool should_free_new = false; /* - * Locate trigger in trigdesc. + * Locate trigger in trigdesc. It might not be present, and in fact the + * trigdesc could be NULL, if the trigger was dropped since the event was + * queued. In that case, silently do nothing. */ + if (trigdesc == NULL) + return; for (tgindx = 0; tgindx < trigdesc->numtriggers; tgindx++) { if (trigdesc->triggers[tgindx].tgoid == tgoid) @@ -4307,7 +4311,7 @@ AfterTriggerExecute(EState *estate, } } if (LocTriggerData.tg_trigger == NULL) - elog(ERROR, "could not find trigger %u", tgoid); + return; /* * If doing EXPLAIN ANALYZE, start charging time to this trigger. We want @@ -4688,6 +4692,7 @@ afterTriggerInvokeEvents(AfterTriggerEventList *events, /* Catch calls with insufficient relcache refcounting */ Assert(!RelationHasReferenceCountZero(rel)); trigdesc = rInfo->ri_TrigDesc; + /* caution: trigdesc could be NULL here */ finfo = rInfo->ri_TrigFunctions; instr = rInfo->ri_TrigInstrument; if (slot1 != NULL) @@ -4703,9 +4708,6 @@ afterTriggerInvokeEvents(AfterTriggerEventList *events, slot2 = MakeSingleTupleTableSlot(rel->rd_att, &TTSOpsMinimalTuple); } - if (trigdesc == NULL) /* should not happen */ - elog(ERROR, "relation %u has no triggers", - evtshared->ats_relid); } /* diff --git a/src/backend/executor/execPartition.c b/src/backend/executor/execPartition.c index f6c34328b85..6de40aacfa5 100644 --- a/src/backend/executor/execPartition.c +++ b/src/backend/executor/execPartition.c @@ -1863,7 +1863,7 @@ CreatePartitionPruneState(PlanState *planstate, PartitionPruneInfo *pruneinfo) int i; ExprContext *econtext = planstate->ps_ExprContext; - /* For data reading, executor always omits detached partitions */ + /* For data reading, executor always includes detached partitions */ if (estate->es_partition_directory == NULL) estate->es_partition_directory = CreatePartitionDirectory(estate->es_query_cxt, false); @@ -1934,37 +1934,31 @@ CreatePartitionPruneState(PlanState *planstate, PartitionPruneInfo *pruneinfo) /* * Initialize the subplan_map and subpart_map. * - * Because we request detached partitions to be included, and - * detaching waits for old transactions, it is safe to assume that - * no partitions have disappeared since this query was planned. + * The set of partitions that exist now might not be the same that + * existed when the plan was made. The normal case is that it is; + * optimize for that case with a quick comparison, and just copy + * the subplan_map and make subpart_map point to the one in + * PruneInfo. * - * However, new partitions may have been added. + * For the case where they aren't identical, we could have more + * partitions on either side; or even exactly the same number of + * them on both but the set of OIDs doesn't match fully. Handle + * this by creating new subplan_map and subpart_map arrays that + * corresponds to the ones in the PruneInfo where the new + * partition descriptor's OIDs match. Any that don't match can be + * set to -1, as if they were pruned. By construction, both + * arrays are in partition bounds order. */ - Assert(partdesc->nparts >= pinfo->nparts); pprune->nparts = partdesc->nparts; pprune->subplan_map = palloc(sizeof(int) * partdesc->nparts); - if (partdesc->nparts == pinfo->nparts) + + if (partdesc->nparts == pinfo->nparts && + memcmp(partdesc->oids, pinfo->relid_map, + sizeof(int) * partdesc->nparts) == 0) { - /* - * There are no new partitions, so this is simple. We can - * simply point to the subpart_map from the plan, but we must - * copy the subplan_map since we may change it later. - */ pprune->subpart_map = pinfo->subpart_map; memcpy(pprune->subplan_map, pinfo->subplan_map, sizeof(int) * pinfo->nparts); - - /* - * Double-check that the list of unpruned relations has not - * changed. (Pruned partitions are not in relid_map[].) - */ -#ifdef USE_ASSERT_CHECKING - for (int k = 0; k < pinfo->nparts; k++) - { - Assert(partdesc->oids[k] == pinfo->relid_map[k] || - pinfo->subplan_map[k] == -1); - } -#endif } else { @@ -1972,22 +1966,18 @@ CreatePartitionPruneState(PlanState *planstate, PartitionPruneInfo *pruneinfo) int pp_idx; /* - * Some new partitions have appeared since plan time, and - * those are reflected in our PartitionDesc but were not - * present in the one used to construct subplan_map and - * subpart_map. So we must construct new and longer arrays - * where the partitions that were originally present map to - * the same sub-structures, and any added partitions map to - * -1, as if the new partitions had been pruned. + * When the partition arrays are not identical, there could be + * some new ones but it's also possible that one was removed; + * we cope with both situations by walking the arrays and + * discarding those that don't match. * - * Note: pinfo->relid_map[] may contain InvalidOid entries for - * partitions pruned by the planner. We cannot tell exactly - * which of the partdesc entries these correspond to, but we - * don't have to; just skip over them. The non-pruned - * relid_map entries, however, had better be a subset of the - * partdesc entries and in the same order. + * If the number of partitions on both sides match, it's still + * possible that one partition has been detached and another + * attached. Cope with that by creating a map that skips any + * mismatches. */ pprune->subpart_map = palloc(sizeof(int) * partdesc->nparts); + for (pp_idx = 0; pp_idx < partdesc->nparts; pp_idx++) { /* Skip any InvalidOid relid_map entries */ @@ -1995,6 +1985,7 @@ CreatePartitionPruneState(PlanState *planstate, PartitionPruneInfo *pruneinfo) !OidIsValid(pinfo->relid_map[pd_idx])) pd_idx++; + recheck: if (pd_idx < pinfo->nparts && pinfo->relid_map[pd_idx] == partdesc->oids[pp_idx]) { @@ -2004,24 +1995,43 @@ CreatePartitionPruneState(PlanState *planstate, PartitionPruneInfo *pruneinfo) pprune->subpart_map[pp_idx] = pinfo->subpart_map[pd_idx]; pd_idx++; + continue; } - else + + /* + * There isn't an exact match in the corresponding + * positions of both arrays. Peek ahead in + * pinfo->relid_map to see if we have a match for the + * current partition in partdesc. Normally if a match + * exists it's just one element ahead, and it means the + * planner saw one extra partition that we no longer see + * now (its concurrent detach finished just in between); + * so we skip that one by updating pd_idx to the new + * location and jumping above. We can then continue to + * match the rest of the elements after skipping the OID + * with no match; no future matches are tried for the + * element that was skipped, because we know the arrays to + * be in the same order. + * + * If we don't see a match anywhere in the rest of the + * pinfo->relid_map array, that means we see an element + * now that the planner didn't see, so mark that one as + * pruned and move on. + */ + for (int pd_idx2 = pd_idx + 1; pd_idx2 < pinfo->nparts; pd_idx2++) { - /* this partdesc entry is not in the plan */ - pprune->subplan_map[pp_idx] = -1; - pprune->subpart_map[pp_idx] = -1; + if (pd_idx2 >= pinfo->nparts) + break; + if (pinfo->relid_map[pd_idx2] == partdesc->oids[pp_idx]) + { + pd_idx = pd_idx2; + goto recheck; + } } - } - /* - * It might seem that we need to skip any trailing InvalidOid - * entries in pinfo->relid_map before checking that we scanned - * all of the relid_map. But we will have skipped them above, - * because they must correspond to some partdesc->oids - * entries; we just couldn't tell which. - */ - if (pd_idx != pinfo->nparts) - elog(ERROR, "could not match partition child tables to plan elements"); + pprune->subpart_map[pp_idx] = -1; + pprune->subplan_map[pp_idx] = -1; + } } /* present_parts is also subject to later modification */ diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c index 89fcd3ec5fe..81b0c029e7a 100644 --- a/src/backend/executor/functions.c +++ b/src/backend/executor/functions.c @@ -492,6 +492,7 @@ init_execution_state(List *queryTree_list, stmt->utilityStmt = queryTree->utilityStmt; stmt->stmt_location = queryTree->stmt_location; stmt->stmt_len = queryTree->stmt_len; + stmt->queryId = queryTree->queryId; } else stmt = pg_plan_query(queryTree, diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c index 980746128bc..0ec48025ff9 100644 --- a/src/backend/executor/nodeHashjoin.c +++ b/src/backend/executor/nodeHashjoin.c @@ -566,20 +566,21 @@ ExecHashJoinImpl(PlanState *pstate, bool parallel) } /* - * In a right-antijoin, we never return a matched tuple. - * And we need to stay on the current outer tuple to - * continue scanning the inner side for matches. + * If we only need to consider the first matching inner + * tuple, then advance to next outer tuple after we've + * processed this one. */ - if (node->js.jointype == JOIN_RIGHT_ANTI) - continue; + if (node->js.single_match) + node->hj_JoinState = HJ_NEED_NEW_OUTER; /* - * If we only need to join to the first matching inner - * tuple, then consider returning this one, but after that - * continue with next outer tuple. + * In a right-antijoin, we never return a matched tuple. + * If it's not an inner_unique join, we need to stay on + * the current outer tuple to continue scanning the inner + * side for matches. */ - if (node->js.single_match) - node->hj_JoinState = HJ_NEED_NEW_OUTER; + if (node->js.jointype == JOIN_RIGHT_ANTI) + continue; if (otherqual == NULL || ExecQual(otherqual, econtext)) return ExecProject(node->js.ps.ps_ProjInfo); diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c index 00f96d045e0..2fce00f4b40 100644 --- a/src/backend/executor/nodeMergejoin.c +++ b/src/backend/executor/nodeMergejoin.c @@ -806,20 +806,21 @@ ExecMergeJoin(PlanState *pstate) } /* - * In a right-antijoin, we never return a matched tuple. - * And we need to stay on the current outer tuple to - * continue scanning the inner side for matches. + * If we only need to consider the first matching inner + * tuple, then advance to next outer tuple after we've + * processed this one. */ - if (node->js.jointype == JOIN_RIGHT_ANTI) - break; + if (node->js.single_match) + node->mj_JoinState = EXEC_MJ_NEXTOUTER; /* - * If we only need to join to the first matching inner - * tuple, then consider returning this one, but after that - * continue with next outer tuple. + * In a right-antijoin, we never return a matched tuple. + * If it's not an inner_unique join, we need to stay on + * the current outer tuple to continue scanning the inner + * side for matches. */ - if (node->js.single_match) - node->mj_JoinState = EXEC_MJ_NEXTOUTER; + if (node->js.jointype == JOIN_RIGHT_ANTI) + break; qualResult = (otherqual == NULL || ExecQual(otherqual, econtext)); diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 3a1f2ba5eba..27b55334ed4 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -24,6 +24,14 @@ * values plus row-locating info for UPDATE and MERGE cases, or just the * row-locating info for DELETE cases. * + * The relation to modify can be an ordinary table, a view having an + * INSTEAD OF trigger, or a foreign table. Earlier processing already + * pointed ModifyTable to the underlying relations of any automatically + * updatable view not using an INSTEAD OF trigger, so code here can + * assume it won't have one as a modification target. This node does + * process ri_WithCheckOptions, which may have expressions from those + * automatically updatable views. + * * MERGE runs a join between the source relation and the target * table; if any WHEN NOT MATCHED clauses are present, then the * join is an outer join. In this case, any unmatched tuples will @@ -1401,18 +1409,18 @@ ExecDeleteEpilogue(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * DELETE is like UPDATE, except that we delete the tuple and no * index modifications are needed. * - * When deleting from a table, tupleid identifies the tuple to - * delete and oldtuple is NULL. When deleting from a view, - * oldtuple is passed to the INSTEAD OF triggers and identifies - * what to delete, and tupleid is invalid. When deleting from a - * foreign table, tupleid is invalid; the FDW has to figure out - * which row to delete using data from the planSlot. oldtuple is - * passed to foreign table triggers; it is NULL when the foreign - * table has no relevant triggers. We use tupleDeleted to indicate - * whether the tuple is actually deleted, callers can use it to - * decide whether to continue the operation. When this DELETE is a - * part of an UPDATE of partition-key, then the slot returned by - * EvalPlanQual() is passed back using output parameter epqreturnslot. + * When deleting from a table, tupleid identifies the tuple to delete and + * oldtuple is NULL. When deleting through a view INSTEAD OF trigger, + * oldtuple is passed to the triggers and identifies what to delete, and + * tupleid is invalid. When deleting from a foreign table, tupleid is + * invalid; the FDW has to figure out which row to delete using data from + * the planSlot. oldtuple is passed to foreign table triggers; it is + * NULL when the foreign table has no relevant triggers. We use + * tupleDeleted to indicate whether the tuple is actually deleted, + * callers can use it to decide whether to continue the operation. When + * this DELETE is a part of an UPDATE of partition-key, then the slot + * returned by EvalPlanQual() is passed back using output parameter + * epqreturnslot. * * Returns RETURNING result if any, otherwise NULL. * ---------------------------------------------------------------- @@ -2244,21 +2252,22 @@ ExecCrossPartitionUpdateForeignKey(ModifyTableContext *context, * is, we don't want to get stuck in an infinite loop * which corrupts your database.. * - * When updating a table, tupleid identifies the tuple to - * update and oldtuple is NULL. When updating a view, oldtuple - * is passed to the INSTEAD OF triggers and identifies what to - * update, and tupleid is invalid. When updating a foreign table, - * tupleid is invalid; the FDW has to figure out which row to - * update using data from the planSlot. oldtuple is passed to - * foreign table triggers; it is NULL when the foreign table has - * no relevant triggers. + * When updating a table, tupleid identifies the tuple to update and + * oldtuple is NULL. When updating through a view INSTEAD OF trigger, + * oldtuple is passed to the triggers and identifies what to update, and + * tupleid is invalid. When updating a foreign table, tupleid is + * invalid; the FDW has to figure out which row to update using data from + * the planSlot. oldtuple is passed to foreign table triggers; it is + * NULL when the foreign table has no relevant triggers. * * slot contains the new tuple value to be stored. * planSlot is the output of the ModifyTable's subplan; we use it * to access values from other input tables (for RETURNING), * row-ID junk columns, etc. * - * Returns RETURNING result if any, otherwise NULL. + * Returns RETURNING result if any, otherwise NULL. On exit, if tupleid + * had identified the tuple to update, it will identify the tuple + * actually updated after EvalPlanQual. * ---------------------------------------------------------------- */ static TupleTableSlot * @@ -3800,8 +3809,8 @@ ExecModifyTable(PlanState *pstate) * know enough here to set t_tableOid. Quite separately from * this, the FDW may fetch its own junk attrs to identify the row. * - * Other relevant relkinds, currently limited to views, always - * have a wholerow attribute. + * Other relevant relkinds, currently limited to views having + * INSTEAD OF triggers, always have a wholerow attribute. */ else if (AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo)) { diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index 33975687b38..31582c749da 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -2398,6 +2398,7 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, uint64 my_processed = 0; SPITupleTable *my_tuptable = NULL; int res = 0; + bool allow_nonatomic; bool pushed_active_snap = false; ResourceOwner plan_owner = options->owner; SPICallbackArg spicallbackarg; @@ -2405,6 +2406,12 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, CachedPlan *cplan = NULL; ListCell *lc1; + /* + * We allow nonatomic behavior only if options->allow_nonatomic is set + * *and* the SPI_OPT_NONATOMIC flag was given when connecting. + */ + allow_nonatomic = options->allow_nonatomic && !_SPI_current->atomic; + /* * Setup error traceback support for ereport() */ @@ -2424,12 +2431,17 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, * snapshot != InvalidSnapshot, read_only = false: use the given snapshot, * modified by advancing its command ID before each querytree. * - * snapshot == InvalidSnapshot, read_only = true: use the entry-time - * ActiveSnapshot, if any (if there isn't one, we run with no snapshot). + * snapshot == InvalidSnapshot, read_only = true: do nothing for queries + * that require no snapshot. For those that do, ensure that a Portal + * snapshot exists; then use that, or use the entry-time ActiveSnapshot if + * that exists and is different. * - * snapshot == InvalidSnapshot, read_only = false: take a full new - * snapshot for each user command, and advance its command ID before each - * querytree within the command. + * snapshot == InvalidSnapshot, read_only = false: do nothing for queries + * that require no snapshot. For those that do, ensure that a Portal + * snapshot exists; then, in atomic execution (!allow_nonatomic) take a + * full new snapshot for each user command, and advance its command ID + * before each querytree within the command. In allow_nonatomic mode we + * just use the Portal snapshot unmodified. * * In the first two cases, we can just push the snap onto the stack once * for the whole plan list. @@ -2439,6 +2451,7 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, */ if (snapshot != InvalidSnapshot) { + /* this intentionally tests the options field not the derived value */ Assert(!options->allow_nonatomic); if (options->read_only) { @@ -2584,7 +2597,7 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, * Skip it when doing non-atomic execution, though (we rely * entirely on the Portal snapshot in that case). */ - if (!options->read_only && !options->allow_nonatomic) + if (!options->read_only && !allow_nonatomic) { if (pushed_active_snap) PopActiveSnapshot(); @@ -2684,14 +2697,13 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, QueryCompletion qc; /* - * If the SPI context is atomic, or we were not told to allow - * nonatomic operations, tell ProcessUtility this is an atomic - * execution context. + * If we're not allowing nonatomic operations, tell + * ProcessUtility this is an atomic execution context. */ - if (_SPI_current->atomic || !options->allow_nonatomic) - context = PROCESS_UTILITY_QUERY; - else + if (allow_nonatomic) context = PROCESS_UTILITY_QUERY_NONATOMIC; + else + context = PROCESS_UTILITY_QUERY; InitializeQueryCompletion(&qc); ProcessUtility(stmt, diff --git a/src/backend/foreign/foreign.c b/src/backend/foreign/foreign.c index ca3ad55b628..7335838af35 100644 --- a/src/backend/foreign/foreign.c +++ b/src/backend/foreign/foreign.c @@ -23,6 +23,7 @@ #include "funcapi.h" #include "lib/stringinfo.h" #include "miscadmin.h" +#include "tcop/tcopprot.h" #include "utils/builtins.h" #include "utils/memutils.h" #include "utils/rel.h" @@ -323,6 +324,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/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index 6f0ecf8bf7b..4e07ad8cd19 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -252,8 +252,20 @@ be_tls_init(bool isServerStart) } } - /* disallow SSL session tickets */ + /* + * Disallow SSL session tickets. OpenSSL use both stateful and stateless + * tickets for TLSv1.3, and stateless ticket for TLSv1.2. SSL_OP_NO_TICKET + * is available since 0.9.8f but only turns off stateless tickets. In + * order to turn off stateful tickets we need SSL_CTX_set_num_tickets, + * which is available since OpenSSL 1.1.1. LibreSSL 3.5.4 (from OpenBSD + * 7.1) introduced this API for compatibility, but doesn't support session + * tickets at all so it's a no-op there. + */ +#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 /* disallow SSL session caching, too */ SSL_CTX_set_session_cache_mode(context, SSL_SESS_CACHE_OFF); @@ -1367,10 +1379,11 @@ SSLerrmessage(unsigned long ecode) return errreason; /* - * In OpenSSL 3.0.0 and later, ERR_reason_error_string randomly refuses to - * map system errno values. We can cover that shortcoming with this bit - * of code. Older OpenSSL versions don't have the ERR_SYSTEM_ERROR macro, - * but that's okay because they don't have the shortcoming either. + * In OpenSSL 3.0.0 and later, ERR_reason_error_string does not map system + * errno values anymore. (See OpenSSL source code for the explanation.) + * We can cover that shortcoming with this bit of code. Older OpenSSL + * versions don't have the ERR_SYSTEM_ERROR macro, but that's okay because + * they don't have the shortcoming either. */ #ifdef ERR_SYSTEM_ERROR if (ERR_SYSTEM_ERROR(ecode)) diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index 4bb38160b33..974c50b29f9 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -40,6 +40,7 @@ #include "parser/parse_clause.h" #include "parser/parsetree.h" #include "partitioning/partprune.h" +#include "tcop/tcopprot.h" #include "utils/lsyscache.h" @@ -7090,7 +7091,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/setrefs.c b/src/backend/optimizer/plan/setrefs.c index a5c18a481b4..0b74158bbc9 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -2181,22 +2181,14 @@ fix_scan_expr_mutator(Node *node, fix_scan_expr_context *context) if (IsA(node, Aggref)) { Aggref *aggref = (Aggref *) node; + Param *aggparam; /* See if the Aggref should be replaced by a Param */ - if (context->root->minmax_aggs != NIL && - list_length(aggref->args) == 1) + aggparam = find_minmax_agg_replacement_param(context->root, aggref); + if (aggparam != NULL) { - TargetEntry *curTarget = (TargetEntry *) linitial(aggref->args); - ListCell *lc; - - foreach(lc, context->root->minmax_aggs) - { - MinMaxAggInfo *mminfo = (MinMaxAggInfo *) lfirst(lc); - - if (mminfo->aggfnoid == aggref->aggfnoid && - equal(mminfo->target, curTarget->expr)) - return (Node *) copyObject(mminfo->param); - } + /* Make a copy of the Param for paranoia's sake */ + return (Node *) copyObject(aggparam); } /* If no match, just fall through to process it normally */ } @@ -3225,22 +3217,14 @@ fix_upper_expr_mutator(Node *node, fix_upper_expr_context *context) if (IsA(node, Aggref)) { Aggref *aggref = (Aggref *) node; + Param *aggparam; /* See if the Aggref should be replaced by a Param */ - if (context->root->minmax_aggs != NIL && - list_length(aggref->args) == 1) + aggparam = find_minmax_agg_replacement_param(context->root, aggref); + if (aggparam != NULL) { - TargetEntry *curTarget = (TargetEntry *) linitial(aggref->args); - ListCell *lc; - - foreach(lc, context->root->minmax_aggs) - { - MinMaxAggInfo *mminfo = (MinMaxAggInfo *) lfirst(lc); - - if (mminfo->aggfnoid == aggref->aggfnoid && - equal(mminfo->target, curTarget->expr)) - return (Node *) copyObject(mminfo->param); - } + /* Make a copy of the Param for paranoia's sake */ + return (Node *) copyObject(aggparam); } /* If no match, just fall through to process it normally */ } @@ -3395,6 +3379,38 @@ set_windowagg_runcondition_references(PlannerInfo *root, return newlist; } +/* + * find_minmax_agg_replacement_param + * If the given Aggref is one that we are optimizing into a subquery + * (cf. planagg.c), then return the Param that should replace it. + * Else return NULL. + * + * This is exported so that SS_finalize_plan can use it before setrefs.c runs. + * Note that it will not find anything until we have built a Plan from a + * MinMaxAggPath, as root->minmax_aggs will never be filled otherwise. + */ +Param * +find_minmax_agg_replacement_param(PlannerInfo *root, Aggref *aggref) +{ + if (root->minmax_aggs != NIL && + list_length(aggref->args) == 1) + { + TargetEntry *curTarget = (TargetEntry *) linitial(aggref->args); + ListCell *lc; + + foreach(lc, root->minmax_aggs) + { + MinMaxAggInfo *mminfo = (MinMaxAggInfo *) lfirst(lc); + + if (mminfo->aggfnoid == aggref->aggfnoid && + equal(mminfo->target, curTarget->expr)) + return mminfo->param; + } + } + return NULL; +} + + /***************************************************************************** * QUERY DEPENDENCY MANAGEMENT *****************************************************************************/ diff --git a/src/backend/optimizer/plan/subselect.c b/src/backend/optimizer/plan/subselect.c index da2d8abe015..250ba8edcb8 100644 --- a/src/backend/optimizer/plan/subselect.c +++ b/src/backend/optimizer/plan/subselect.c @@ -2835,8 +2835,8 @@ finalize_plan(PlannerInfo *root, Plan *plan, } /* - * finalize_primnode: add IDs of all PARAM_EXEC params appearing in the given - * expression tree to the result set. + * finalize_primnode: add IDs of all PARAM_EXEC params that appear (or will + * appear) in the given expression tree to the result set. */ static bool finalize_primnode(Node *node, finalize_primnode_context *context) @@ -2853,7 +2853,26 @@ finalize_primnode(Node *node, finalize_primnode_context *context) } return false; /* no more to do here */ } - if (IsA(node, SubPlan)) + else if (IsA(node, Aggref)) + { + /* + * Check to see if the aggregate will be replaced by a Param + * referencing a subquery output during setrefs.c. If so, we must + * account for that Param here. (For various reasons, it's not + * convenient to perform that substitution earlier than setrefs.c, nor + * to perform this processing after setrefs.c. Thus we need a wart + * here.) + */ + Aggref *aggref = (Aggref *) node; + Param *aggparam; + + aggparam = find_minmax_agg_replacement_param(context->root, aggref); + if (aggparam != NULL) + context->paramids = bms_add_member(context->paramids, + aggparam->paramid); + /* Fall through to examine the agg's arguments */ + } + else if (IsA(node, SubPlan)) { SubPlan *subplan = (SubPlan *) node; Plan *plan = planner_subplan_get_plan(context->root, subplan); diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index bd232263b48..bd02b7b1cb3 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -1621,7 +1621,7 @@ create_memoize_path(PlannerInfo *root, RelOptInfo *rel, Path *subpath, pathnode->param_exprs = param_exprs; pathnode->singlerow = singlerow; pathnode->binary_mode = binary_mode; - pathnode->calls = calls; + pathnode->calls = clamp_row_est(calls); /* * For now we set est_entries to 0. cost_memoize_rescan() does all the diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c index 39932d3c2d2..1a3045479ff 100644 --- a/src/backend/optimizer/util/plancat.c +++ b/src/backend/optimizer/util/plancat.c @@ -47,6 +47,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" @@ -500,6 +501,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); } @@ -667,6 +679,7 @@ infer_arbiter_indexes(PlannerInfo *root) OnConflictExpr *onconflict = root->parse->onConflict; /* Iteration state */ + Index varno; RangeTblEntry *rte; Relation relation; Oid indexOidFromConstraint = InvalidOid; @@ -695,7 +708,8 @@ infer_arbiter_indexes(PlannerInfo *root) * the rewriter or when expand_inherited_rtentry() added it to the query's * rangetable. */ - rte = rt_fetch(root->parse->resultRelation, root->parse->rtable); + varno = root->parse->resultRelation; + rte = rt_fetch(varno, root->parse->rtable); relation = table_open(rte->relid, NoLock); @@ -829,6 +843,9 @@ infer_arbiter_indexes(PlannerInfo *root) /* Expression attributes (if any) must match */ idxExprs = RelationGetIndexExpressions(idxRel); + if (idxExprs && varno != 1) + ChangeVarNodes((Node *) idxExprs, 1, varno, 0); + foreach(el, onconflict->arbiterElems) { InferenceElem *elem = (InferenceElem *) lfirst(el); @@ -880,6 +897,8 @@ infer_arbiter_indexes(PlannerInfo *root) * CONFLICT's WHERE clause. */ predExprs = RelationGetIndexPredicate(idxRel); + if (predExprs && varno != 1) + ChangeVarNodes((Node *) predExprs, 1, varno, 0); if (!predicate_implied_by(predExprs, (List *) onconflict->arbiterWhere, false)) goto next; diff --git a/src/backend/parser/parse_cte.c b/src/backend/parser/parse_cte.c index c5b1a49725c..d7ccb65d647 100644 --- a/src/backend/parser/parse_cte.c +++ b/src/backend/parser/parse_cte.c @@ -883,25 +883,14 @@ checkWellFormedRecursion(CteState *cstate) cte->ctename), parser_errposition(cstate->pstate, cte->location))); - /* The left-hand operand mustn't contain self-reference at all */ - cstate->curitem = i; - cstate->innerwiths = NIL; - cstate->selfrefcount = 0; - cstate->context = RECURSION_NONRECURSIVETERM; - checkWellFormedRecursionWalker((Node *) stmt->larg, cstate); - Assert(cstate->innerwiths == NIL); - - /* Right-hand operand should contain one reference in a valid place */ - cstate->curitem = i; - cstate->innerwiths = NIL; - cstate->selfrefcount = 0; - cstate->context = RECURSION_OK; - checkWellFormedRecursionWalker((Node *) stmt->rarg, cstate); - Assert(cstate->innerwiths == NIL); - if (cstate->selfrefcount != 1) /* shouldn't happen */ - elog(ERROR, "missing recursive reference"); - - /* WITH mustn't contain self-reference, either */ + /* + * Really, we should insist that there not be a top-level WITH, since + * syntactically that would enclose the UNION. However, we've not + * done so in the past and it's probably too late to change. Settle + * for insisting that WITH not contain a self-reference. Test this + * before examining the UNION arms, to avoid issuing confusing errors + * in such cases. + */ if (stmt->withClause) { cstate->curitem = i; @@ -918,7 +907,9 @@ checkWellFormedRecursion(CteState *cstate) * don't make sense because it's impossible to figure out what they * mean when we have only part of the recursive query's results. (If * we did allow them, we'd have to check for recursive references - * inside these subtrees.) + * inside these subtrees. As for WITH, we have to do this before + * examining the UNION arms, to avoid issuing confusing errors if + * there is a recursive reference here.) */ if (stmt->sortClause) ereport(ERROR, @@ -944,6 +935,28 @@ checkWellFormedRecursion(CteState *cstate) errmsg("FOR UPDATE/SHARE in a recursive query is not implemented"), parser_errposition(cstate->pstate, exprLocation((Node *) stmt->lockingClause)))); + + /* + * Now we can get on with checking the UNION operands themselves. + * + * The left-hand operand mustn't contain a self-reference at all. + */ + cstate->curitem = i; + cstate->innerwiths = NIL; + cstate->selfrefcount = 0; + cstate->context = RECURSION_NONRECURSIVETERM; + checkWellFormedRecursionWalker((Node *) stmt->larg, cstate); + Assert(cstate->innerwiths == NIL); + + /* Right-hand operand should contain one reference in a valid place */ + cstate->curitem = i; + cstate->innerwiths = NIL; + cstate->selfrefcount = 0; + cstate->context = RECURSION_OK; + checkWellFormedRecursionWalker((Node *) stmt->rarg, cstate); + Assert(cstate->innerwiths == NIL); + if (cstate->selfrefcount != 1) /* shouldn't happen */ + elog(ERROR, "missing recursive reference"); } } diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 5316275b69c..ba3448f9dd5 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -3561,11 +3561,9 @@ makeJsonConstructorExpr(ParseState *pstate, JsonConstructorType type, /* * Transform JSON_OBJECT() constructor. * - * JSON_OBJECT() is transformed into json[b]_build_object[_ext]() call - * depending on the output JSON format. The first two arguments of - * json[b]_build_object_ext() are absent_on_null and check_unique. - * - * Then function call result is coerced to the target type. + * JSON_OBJECT() is transformed into a JsonConstructorExpr node of type + * JSCTOR_JSON_OBJECT. The result is coerced to the target type given + * by ctor->output. */ static Node * transformJsonObjectConstructor(ParseState *pstate, JsonObjectConstructor *ctor) @@ -3753,10 +3751,11 @@ transformJsonAggConstructor(ParseState *pstate, JsonAggConstructor *agg_ctor, /* * Transform JSON_OBJECTAGG() aggregate function. * - * JSON_OBJECTAGG() is transformed into - * json[b]_objectagg[_unique][_strict](key, value) call depending on - * the output JSON format. Then the function call result is coerced to the - * target output type. + * JSON_OBJECT() 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 + * type given by agg->constructor->output. */ static Node * transformJsonObjectAgg(ParseState *pstate, JsonObjectAgg *agg) @@ -3815,9 +3814,11 @@ transformJsonObjectAgg(ParseState *pstate, JsonObjectAgg *agg) /* * Transform JSON_ARRAYAGG() aggregate function. * - * JSON_ARRAYAGG() is transformed into json[b]_agg[_strict]() call depending - * on the output JSON format and absent_on_null. Then the function call result - * is coerced to the target output type. + * JSON_ARRAYAGG() is transformed into a JsonConstructorExpr node of type + * JSCTOR_JSON_ARRAYAGG, which at runtime becomes a + * json[b]_object_agg[_unique][_strict](agg->arg) call depending on the output + * JSON format. The result is coerced to the target type given by + * agg->constructor->output. */ static Node * transformJsonArrayAgg(ParseState *pstate, JsonArrayAgg *agg) @@ -3854,11 +3855,9 @@ transformJsonArrayAgg(ParseState *pstate, JsonArrayAgg *agg) /* * Transform JSON_ARRAY() constructor. * - * JSON_ARRAY() is transformed into json[b]_build_array[_ext]() call - * depending on the output JSON format. The first argument of - * json[b]_build_array_ext() is absent_on_null. - * - * Then function call result is coerced to the target type. + * JSON_ARRAY() is transformed into a JsonConstructorExpr node of type + * JSCTOR_JSON_ARRAY. The result is coerced to the target type given + * by ctor->output. */ static Node * transformJsonArrayConstructor(ParseState *pstate, JsonArrayConstructor *ctor) diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 9dcfc718275..441f599d1a0 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -84,7 +84,6 @@ typedef struct List *fkconstraints; /* FOREIGN KEY constraints */ List *ixconstraints; /* index-creating constraints */ List *likeclauses; /* LIKE clauses that need post-processing */ - List *extstats; /* cloned extended statistics */ List *blist; /* "before list" of things to do before * creating the table */ List *alist; /* "after list" of things to do after creating @@ -117,13 +116,14 @@ static void transformTableLikeClause(CreateStmtContext *cxt, static void transformOfType(CreateStmtContext *cxt, TypeName *ofTypename); static CreateStatsStmt *generateClonedExtStatsStmt(RangeVar *heapRel, - Oid heapRelid, Oid source_statsid); + Oid heapRelid, + Oid source_statsid, + const AttrMap *attmap); static List *get_collation(Oid collation, Oid actual_datatype); static List *get_opclass(Oid opclass, Oid actual_datatype); static void transformIndexConstraints(CreateStmtContext *cxt); static IndexStmt *transformIndexConstraint(Constraint *constraint, CreateStmtContext *cxt); -static void transformExtendedStatistics(CreateStmtContext *cxt); static void transformFKConstraints(CreateStmtContext *cxt, bool skipValidation, bool isAddConstraint); @@ -243,7 +243,6 @@ transformCreateStmt(CreateStmt *stmt, const char *queryString) cxt.fkconstraints = NIL; cxt.ixconstraints = NIL; cxt.likeclauses = NIL; - cxt.extstats = NIL; cxt.blist = NIL; cxt.alist = NIL; cxt.pkey = NULL; @@ -336,11 +335,6 @@ transformCreateStmt(CreateStmt *stmt, const char *queryString) */ transformCheckConstraints(&cxt, !cxt.isforeign); - /* - * Postprocess extended statistics. - */ - transformExtendedStatistics(&cxt); - /* * Output results. */ @@ -1127,61 +1121,25 @@ transformTableLikeClause(CreateStmtContext *cxt, TableLikeClause *table_like_cla } /* - * We cannot yet deal with defaults, CHECK constraints, or indexes, since - * we don't yet know what column numbers the copied columns will have in - * the finished table. If any of those options are specified, add the - * LIKE clause to cxt->likeclauses so that expandTableLikeClause will be - * called after we do know that. Also, remember the relation OID so that - * expandTableLikeClause is certain to open the same table. + * We cannot yet deal with defaults, CHECK constraints, indexes, or + * statistics, since we don't yet know what column numbers the copied + * columns will have in the finished table. If any of those options are + * specified, add the LIKE clause to cxt->likeclauses so that + * expandTableLikeClause will be called after we do know that. Also, + * remember the relation OID so that expandTableLikeClause is certain to + * open the same table. */ if (table_like_clause->options & (CREATE_TABLE_LIKE_DEFAULTS | CREATE_TABLE_LIKE_GENERATED | CREATE_TABLE_LIKE_CONSTRAINTS | - CREATE_TABLE_LIKE_INDEXES)) + CREATE_TABLE_LIKE_INDEXES | + CREATE_TABLE_LIKE_STATISTICS)) { table_like_clause->relationOid = RelationGetRelid(relation); cxt->likeclauses = lappend(cxt->likeclauses, table_like_clause); } - /* - * We may copy extended statistics if requested, since the representation - * of CreateStatsStmt doesn't depend on column numbers. - */ - if (table_like_clause->options & CREATE_TABLE_LIKE_STATISTICS) - { - List *parent_extstats; - ListCell *l; - - parent_extstats = RelationGetStatExtList(relation); - - foreach(l, parent_extstats) - { - Oid parent_stat_oid = lfirst_oid(l); - CreateStatsStmt *stats_stmt; - - stats_stmt = generateClonedExtStatsStmt(cxt->relation, - RelationGetRelid(relation), - parent_stat_oid); - - /* Copy comment on statistics object, if requested */ - if (table_like_clause->options & CREATE_TABLE_LIKE_COMMENTS) - { - comment = GetComment(parent_stat_oid, StatisticExtRelationId, 0); - - /* - * We make use of CreateStatsStmt's stxcomment option, so as - * not to need to know now what name the statistics will have. - */ - stats_stmt->stxcomment = comment; - } - - cxt->extstats = lappend(cxt->extstats, stats_stmt); - } - - list_free(parent_extstats); - } - /* * Close the parent rel, but keep our AccessShareLock on it until xact * commit. That will prevent someone else from deleting or ALTERing the @@ -1448,6 +1406,44 @@ expandTableLikeClause(RangeVar *heapRel, TableLikeClause *table_like_clause) } } + /* + * Process extended statistics if required. + */ + if (table_like_clause->options & CREATE_TABLE_LIKE_STATISTICS) + { + List *parent_extstats; + ListCell *l; + + parent_extstats = RelationGetStatExtList(relation); + + foreach(l, parent_extstats) + { + Oid parent_stat_oid = lfirst_oid(l); + CreateStatsStmt *stats_stmt; + + stats_stmt = generateClonedExtStatsStmt(heapRel, + RelationGetRelid(childrel), + parent_stat_oid, + attmap); + + /* Copy comment on statistics object, if requested */ + if (table_like_clause->options & CREATE_TABLE_LIKE_COMMENTS) + { + comment = GetComment(parent_stat_oid, StatisticExtRelationId, 0); + + /* + * We make use of CreateStatsStmt's stxcomment option, so as + * not to need to know now what name the statistics will have. + */ + stats_stmt->stxcomment = comment; + } + + result = lappend(result, stats_stmt); + } + + list_free(parent_extstats); + } + /* Done with child rel */ table_close(childrel, NoLock); @@ -1872,10 +1868,12 @@ generateClonedIndexStmt(RangeVar *heapRel, Relation source_idx, * Generate a CreateStatsStmt node using information from an already existing * extended statistic "source_statsid", for the rel identified by heapRel and * heapRelid. + * + * Attribute numbers in expression Vars are adjusted according to attmap. */ static CreateStatsStmt * generateClonedExtStatsStmt(RangeVar *heapRel, Oid heapRelid, - Oid source_statsid) + Oid source_statsid, const AttrMap *attmap) { HeapTuple ht_stats; Form_pg_statistic_ext statsrec; @@ -1958,10 +1956,19 @@ generateClonedExtStatsStmt(RangeVar *heapRel, Oid heapRelid, foreach(lc, exprs) { + Node *expr = (Node *) lfirst(lc); StatsElem *selem = makeNode(StatsElem); + bool found_whole_row; + + /* Adjust Vars to match new table's column numbering */ + expr = map_variable_attnos(expr, + 1, 0, + attmap, + InvalidOid, + &found_whole_row); selem->name = NULL; - selem->expr = (Node *) lfirst(lc); + selem->expr = expr; def_names = lappend(def_names, selem); } @@ -2687,19 +2694,6 @@ transformIndexConstraint(Constraint *constraint, CreateStmtContext *cxt) return index; } -/* - * transformExtendedStatistics - * Handle extended statistic objects - * - * Right now, there's nothing to do here, so we just append the list to - * the existing "after" list. - */ -static void -transformExtendedStatistics(CreateStmtContext *cxt) -{ - cxt->alist = list_concat(cxt->alist, cxt->extstats); -} - /* * transformCheckConstraints * handle CHECK constraints @@ -3338,7 +3332,6 @@ transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, cxt.fkconstraints = NIL; cxt.ixconstraints = NIL; cxt.likeclauses = NIL; - cxt.extstats = NIL; cxt.blist = NIL; cxt.alist = NIL; cxt.pkey = NULL; @@ -3618,9 +3611,6 @@ transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, newcmds = lappend(newcmds, newcmd); } - /* Append extended statistics objects */ - transformExtendedStatistics(&cxt); - /* Close rel */ relation_close(rel, NoLock); diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index b2216a9eacd..54c54f4313b 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -407,7 +407,7 @@ octfail 0[oO]_? binfail 0[bB]_? numeric (({decinteger}\.{decinteger}?)|(\.{decinteger})) -numericfail {decdigit}+\.\. +numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] @@ -419,8 +419,9 @@ bininteger_junk {bininteger}{ident_start} numeric_junk {numeric}{ident_start} real_junk {real}{ident_start} -param \${decinteger} -param_junk \${decinteger}{ident_start} +/* Positional parameters don't accept underscores. */ +param \${decdigit}+ +param_junk \${decdigit}+{ident_start} other . diff --git a/src/backend/partitioning/partdesc.c b/src/backend/partitioning/partdesc.c index 7a2b5e57ff4..cc17c942ab6 100644 --- a/src/backend/partitioning/partdesc.c +++ b/src/backend/partitioning/partdesc.c @@ -146,16 +146,19 @@ RelationBuildPartitionDesc(Relation rel, bool omit_detached) ListCell *cell; int i, nparts; + bool retried = false; PartitionKey key = RelationGetPartitionKey(rel); MemoryContext new_pdcxt; MemoryContext oldcxt; int *mapping; +retry: + /* * Get partition oids from pg_inherits. This uses a single snapshot to * fetch the list of children, so while more children may be getting added - * concurrently, whatever this function returns will be accurate as of - * some well-defined point in time. + * or removed concurrently, whatever this function returns will be + * accurate as of some well-defined point in time. */ detached_exist = false; detached_xmin = InvalidTransactionId; @@ -198,18 +201,23 @@ RelationBuildPartitionDesc(Relation rel, bool omit_detached) } /* - * The system cache may be out of date; if so, we may find no pg_class - * tuple or an old one where relpartbound is NULL. In that case, try - * the table directly. We can't just AcceptInvalidationMessages() and - * retry the system cache lookup because it's possible that a - * concurrent ATTACH PARTITION operation has removed itself from the - * ProcArray but not yet added invalidation messages to the shared - * queue; InvalidateSystemCaches() would work, but seems excessive. + * Two problems are possible here. First, a concurrent ATTACH + * PARTITION might be in the process of adding a new partition, but + * the syscache doesn't have it, or its copy of it does not yet have + * its relpartbound set. We cannot just AcceptInvalidationMessages(), + * because the other process might have already removed itself from + * the ProcArray but not yet added its invalidation messages to the + * shared queue. We solve this problem by reading pg_class directly + * for the desired tuple. * - * Note that this algorithm assumes that PartitionBoundSpec we manage - * to fetch is the right one -- so this is only good enough for - * concurrent ATTACH PARTITION, not concurrent DETACH PARTITION or - * some hypothetical operation that changes the partition bounds. + * 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 + * find_inheritance_children_extended included that partition but we + * below we see that DETACH CONCURRENTLY has reset relpartbound for + * it, we'd see an inconsistent view. (The inconsistency is seen + * because table_open below reads invalidation messages.) We protect + * against this by retrying find_inheritance_children_extended(). */ if (boundspec == NULL) { @@ -233,6 +241,25 @@ RelationBuildPartitionDesc(Relation rel, bool omit_detached) 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 + * 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 + * which this is running; and second, to avoid possible infinite + * loops in case of catalog corruption. + * + * Note that the current memory context is short-lived enough, so + * we needn't worry about memory leaks here. + */ + if (!boundspec && !retried) + { + AcceptInvalidationMessages(); + retried = true; + goto retry; + } } /* Sanity checks. */ diff --git a/src/backend/po/de.po b/src/backend/po/de.po index 630149ed6ae..bfb22672313 100644 --- a/src/backend/po/de.po +++ b/src/backend/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-02 22:00+0000\n" -"PO-Revision-Date: 2024-05-03 08:52+0200\n" +"POT-Creation-Date: 2024-08-01 23:11+0000\n" +"PO-Revision-Date: 2024-08-02 11:13+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -88,7 +88,7 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" #: 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/logical/snapbuild.c:2040 replication/slot.c:1980 #: replication/slot.c:2021 replication/walsender.c:643 #: 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 @@ -99,7 +99,7 @@ msgstr "konnte Datei »%s« nicht lesen: %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/logical/origin.c:789 replication/logical/snapbuild.c:2045 #: replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648 #: utils/cache/relmapper.c:834 #, c-format @@ -118,7 +118,7 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen" #: 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/logical/snapbuild.c:1807 replication/logical/snapbuild.c:1931 #: 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 @@ -159,12 +159,12 @@ msgstr "" #: 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/logical/snapbuild.c:1762 replication/logical/snapbuild.c:1872 #: 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/cache/relmapper.c:936 utils/error/elog.c:2102 #: 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 #, c-format @@ -173,7 +173,7 @@ msgstr "konnte Datei »%s« nicht öffnen: %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 +#: access/transam/xlog.c:8766 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 @@ -188,9 +188,9 @@ msgstr "konnte Datei »%s« nicht schreiben: %m" #: 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 +#: access/transam/xlog.c:3961 access/transam/xlog.c:8156 +#: access/transam/xlog.c:8201 backup/basebackup_server.c:209 +#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1800 #: 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 @@ -211,11 +211,11 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m" #: 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 +#: replication/logical/logical.c:209 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 +#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1461 +#: storage/ipc/procarray.c:2243 storage/ipc/procarray.c:2250 +#: storage/ipc/procarray.c:2749 storage/ipc/procarray.c:3385 #: 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 @@ -295,7 +295,7 @@ msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n" #: 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 +#: replication/logical/snapbuild.c:1658 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 @@ -319,7 +319,7 @@ msgstr "konnte Verzeichnis »%s« nicht lesen: %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/logical/snapbuild.c:1819 replication/slot.c:723 #: replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792 #: utils/time/snapmgr.c:1284 #, c-format @@ -507,7 +507,7 @@ msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu" #: 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/logical/snapbuild.c:1700 replication/logical/snapbuild.c:2134 #: 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 @@ -718,7 +718,7 @@ msgid "could not open parent table of index \"%s\"" msgstr "konnte Basistabelle von Index »%s« nicht öffnen" #: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084 -#: parser/parse_utilcmd.c:2280 +#: parser/parse_utilcmd.c:2287 #, c-format msgid "index \"%s\" is not valid" msgstr "Index »%s« ist nicht gültig" @@ -844,7 +844,7 @@ msgstr "Anzahl der Spalten (%d) überschreitet Maximum (%d)" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "Anzahl der Indexspalten (%d) überschreitet Maximum (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:957 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:968 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "Indexzeile benötigt %zu Bytes, Maximalgröße ist %zu" @@ -948,8 +948,8 @@ msgstr "Komprimierungsmethode lz4 nicht unterstützt" msgid "This functionality requires the server to be built with lz4 support." msgstr "Diese Funktionalität verlangt, dass der Server mit lz4-Unterstützung gebaut wird." -#: access/common/tupdesc.c:837 commands/tablecmds.c:6956 -#: commands/tablecmds.c:13027 +#: access/common/tupdesc.c:837 commands/tablecmds.c:7002 +#: commands/tablecmds.c:13073 #, c-format msgid "too many array dimensions" msgstr "zu viele Array-Dimensionen" @@ -1001,7 +1001,7 @@ msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Um das zu reparieren, führen Sie REINDEX INDEX \"%s\" aus." #: access/gin/ginutil.c:146 executor/execExpr.c:2169 -#: utils/adt/arrayfuncs.c:4045 utils/adt/arrayfuncs.c:6732 +#: utils/adt/arrayfuncs.c:4052 utils/adt/arrayfuncs.c:6739 #: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" @@ -1080,19 +1080,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:279 access/hash/hashfunc.c:333 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:335 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 #, 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:280 access/hash/hashfunc.c:334 catalog/heap.c:671 +#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:336 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 +#: commands/indexcmds.c:2015 commands/tablecmds.c:17573 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 +#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1067 utils/adt/varlena.c:1518 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen." @@ -1103,7 +1103,7 @@ msgid "index row size %zu exceeds hash maximum %zu" msgstr "Größe der Indexzeile %zu überschreitet Maximum für Hash-Index %zu" #: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 -#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1018 +#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1029 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Werte, die größer sind als eine Pufferseite, können nicht indiziert werden." @@ -1192,7 +1192,7 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m" #: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 #: 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/xlog.c:3940 access/transam/xlog.c:8755 #: 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 @@ -1213,7 +1213,7 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m" #: access/transam/xlog.c:3952 commands/dbcommands.c:507 #: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 #: replication/logical/origin.c:615 replication/logical/origin.c:657 -#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1767 +#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1776 #: 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 @@ -1324,17 +1324,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:745 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:745 commands/analyze.c:801 #, 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:755 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:755 commands/analyze.c:804 #, 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:758 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:758 commands/analyze.c:806 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n" @@ -1344,27 +1344,27 @@ 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:767 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:767 commands/analyze.c:810 #, c-format msgid "system usage: %s" msgstr "Systembenutzung: %s" -#: access/heap/vacuumlazy.c:2476 +#: access/heap/vacuumlazy.c:2477 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "Tabelle »%s«: %lld tote Item-Bezeichner in %u Seiten entfernt" -#: access/heap/vacuumlazy.c:2636 +#: access/heap/vacuumlazy.c:2637 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "umgehe nicht essentielle Wartung der Tabelle »%s.%s.%s« als Ausfallsicherung nach %d Index-Scans" -#: access/heap/vacuumlazy.c:2639 +#: access/heap/vacuumlazy.c:2640 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "relfrozenxid oder relminmxid der Tabelle ist zu weit in der Vergangenheit." -#: access/heap/vacuumlazy.c:2640 +#: access/heap/vacuumlazy.c:2641 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1373,67 +1373,67 @@ msgstr "" "Erhöhen Sie eventuell die Konfigurationsparameter »maintenance_work_mem« oder »autovacuum_work_mem«.\n" "Sie müssen möglicherweise auch andere Wege in Betracht ziehen, wie VACUUM mit der Benutzung von Transaktions-IDs mithalten kann." -#: access/heap/vacuumlazy.c:2885 +#: access/heap/vacuumlazy.c:2886 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "»%s«: Truncate wird gestoppt wegen Sperrkonflikt" -#: access/heap/vacuumlazy.c:2955 +#: access/heap/vacuumlazy.c:2956 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "Tabelle »%s«: von %u auf %u Seiten verkürzt" -#: access/heap/vacuumlazy.c:3017 +#: access/heap/vacuumlazy.c:3018 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "Tabelle »%s«: Truncate wird ausgesetzt wegen Sperrkonflikt" -#: access/heap/vacuumlazy.c:3177 +#: access/heap/vacuumlazy.c:3178 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "Paralleloption für Vacuum von »%s« wird deaktiviert --- Vacuum in temporären Tabellen kann nicht parallel ausgeführt werden" -#: access/heap/vacuumlazy.c:3393 +#: access/heap/vacuumlazy.c:3394 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "beim Scannen von Block %u Offset %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3396 +#: access/heap/vacuumlazy.c:3397 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "beim Scannen von Block %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3400 +#: access/heap/vacuumlazy.c:3401 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "beim Scannen von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3408 +#: access/heap/vacuumlazy.c:3409 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "beim Vacuum von Block %u Offset %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3411 +#: access/heap/vacuumlazy.c:3412 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "beim Vacuum von Block %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3415 +#: access/heap/vacuumlazy.c:3416 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "beim Vacuum von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3420 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3421 commands/vacuumparallel.c:1074 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "beim Vacuum von Index »%s« von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3425 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1080 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "beim Säubern von Index »%s« von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3431 +#: access/heap/vacuumlazy.c:3432 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "beim Trunkieren von Relation »%s.%s« auf %u Blöcke" @@ -1460,7 +1460,7 @@ msgstr "auf Index »%s« kann nicht zugegriffen werden, während er reindiziert #: 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 +#: commands/tablecmds.c:17268 commands/tablecmds.c:19055 #, c-format msgid "\"%s\" is not an index" msgstr "»%s« ist kein Index" @@ -1486,7 +1486,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:2326 +#: parser/parse_utilcmd.c:2333 #, c-format msgid "index \"%s\" is not a btree" msgstr "Index »%s« ist kein B-Tree" @@ -1535,7 +1535,7 @@ msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion msgid "compress method must be defined when leaf type is different from input type" msgstr "Compress-Methode muss definiert sein, wenn der Leaf-Typ verschieden vom Eingabetyp ist" -#: access/spgist/spgutils.c:1015 +#: access/spgist/spgutils.c:1026 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "innere Tupelgröße %zu überschreitet SP-GiST-Maximum %zu" @@ -1699,17 +1699,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:3027 +#: access/transam/multixact.c:3034 #, 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:3045 +#: access/transam/multixact.c:3052 #, 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:3359 +#: access/transam/multixact.c:3366 #, c-format msgid "invalid MultiXactId: %u" msgstr "ungültige MultiXactId: %u" @@ -1922,12 +1922,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:422 access/transam/twophase.c:2517 +#: access/transam/twophase.c:422 access/transam/twophase.c:2516 #, c-format msgid "maximum number of prepared transactions reached" msgstr "maximale Anzahl vorbereiteter Transaktionen erreicht" -#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#: access/transam/twophase.c:423 access/transam/twophase.c:2517 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "Erhöhen Sie max_prepared_transactions (aktuell %d)." @@ -2000,7 +2000,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:1413 access/transam/xlogrecovery.c:590 -#: replication/logical/logical.c:209 replication/walsender.c:687 +#: replication/logical/logical.c:210 replication/walsender.c:687 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Fehlgeschlagen beim Anlegen eines WAL-Leseprozessors." @@ -2032,52 +2032,52 @@ msgid_plural "%u two-phase state files were written for long-running prepared tr 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:2093 +#: access/transam/twophase.c:2092 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "Wiederherstellung der vorbereiteten Transaktion %u aus dem Shared Memory" -#: access/transam/twophase.c:2186 +#: access/transam/twophase.c:2185 #, 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:2193 +#: access/transam/twophase.c:2192 #, 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:2206 +#: access/transam/twophase.c:2205 #, 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:2213 +#: access/transam/twophase.c:2212 #, 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:2238 +#: access/transam/twophase.c:2237 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "verfälschte Zweiphasen-Statusdatei für Transaktion %u" -#: access/transam/twophase.c:2243 +#: access/transam/twophase.c:2242 #, 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:2500 +#: access/transam/twophase.c:2499 #, 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:2502 +#: access/transam/twophase.c:2501 #, 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:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2509 jit/jit.c:205 utils/fmgr/dfmgr.c:209 #: utils/fmgr/dfmgr.c:415 #, c-format msgid "could not access file \"%s\": %m" @@ -2394,13 +2394,13 @@ msgstr "»max_wal_size« muss mindestens zweimal so groß wie »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 +#: utils/error/elog.c:2225 #, c-format msgid "List syntax is invalid." msgstr "Die Listensyntax ist ungültig." #: access/transam/xlog.c:4356 commands/user.c:2546 commands/variable.c:173 -#: utils/error/elog.c:2235 +#: utils/error/elog.c:2251 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Unbekanntes Schlüsselwort: »%s«." @@ -2485,185 +2485,185 @@ msgstr "Datenbanksystem wurde unterbrochen; letzte bekannte Aktion am %s" msgid "control file contains invalid database cluster state" msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus" -#: access/transam/xlog.c:5502 +#: access/transam/xlog.c:5503 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL endet vor dem Ende der Online-Sicherung" -#: access/transam/xlog.c:5503 +#: access/transam/xlog.c:5504 #, 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:5506 +#: access/transam/xlog.c:5507 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt" -#: access/transam/xlog.c:5552 +#: access/transam/xlog.c:5553 #, c-format msgid "selected new timeline ID: %u" msgstr "gewählte neue Zeitleisten-ID: %u" -#: access/transam/xlog.c:5585 +#: access/transam/xlog.c:5586 #, c-format msgid "archive recovery complete" msgstr "Wiederherstellung aus Archiv abgeschlossen" -#: access/transam/xlog.c:6191 +#: access/transam/xlog.c:6192 #, c-format msgid "shutting down" msgstr "fahre herunter" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6230 +#: access/transam/xlog.c:6231 #, 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:6242 +#: access/transam/xlog.c:6243 #, 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:6307 +#: access/transam/xlog.c:6308 #, 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:6330 +#: access/transam/xlog.c:6331 #, 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:6768 +#: access/transam/xlog.c:6776 #, 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:7329 +#: access/transam/xlog.c:7337 #, c-format msgid "recovery restart point at %X/%X" msgstr "Recovery-Restart-Punkt bei %X/%X" -#: access/transam/xlog.c:7331 +#: access/transam/xlog.c:7339 #, 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:7579 +#: access/transam/xlog.c:7587 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "Restore-Punkt »%s« erzeugt bei %X/%X" -#: access/transam/xlog.c:7786 +#: access/transam/xlog.c:7794 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden" -#: access/transam/xlog.c:7843 +#: access/transam/xlog.c:7852 #, 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:7901 +#: access/transam/xlog.c:7910 #, 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:7930 +#: access/transam/xlog.c:7939 #, 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:8197 +#: access/transam/xlog.c:8206 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m" -#: access/transam/xlog.c:8202 +#: access/transam/xlog.c:8211 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "konnte Datei »%s« nicht fdatasyncen: %m" -#: access/transam/xlog.c:8287 access/transam/xlog.c:8610 +#: access/transam/xlog.c:8296 access/transam/xlog.c:8619 #, 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:8288 access/transam/xlog.c:8611 +#: access/transam/xlog.c:8297 access/transam/xlog.c:8620 #: access/transam/xlogfuncs.c:254 #, 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:8293 +#: access/transam/xlog.c:8302 #, c-format msgid "backup label too long (max %d bytes)" msgstr "Backup-Label zu lang (maximal %d Bytes)" -#: access/transam/xlog.c:8414 +#: access/transam/xlog.c:8423 #, 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:8416 access/transam/xlog.c:8699 +#: access/transam/xlog.c:8425 access/transam/xlog.c:8708 #, 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:8483 backup/basebackup.c:1355 utils/adt/misc.c:354 +#: access/transam/xlog.c:8492 backup/basebackup.c:1355 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:8490 backup/basebackup.c:1360 utils/adt/misc.c:359 +#: access/transam/xlog.c:8499 backup/basebackup.c:1360 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:8649 backup/basebackup.c:1221 +#: access/transam/xlog.c:8658 backup/basebackup.c:1221 #, 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:8650 backup/basebackup.c:1222 +#: access/transam/xlog.c:8659 backup/basebackup.c:1222 #, 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:8697 +#: access/transam/xlog.c:8706 #, 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:8813 +#: access/transam/xlog.c:8822 #, 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:8827 +#: access/transam/xlog.c:8836 #, 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:8829 +#: access/transam/xlog.c:8838 #, 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:8836 +#: access/transam/xlog.c:8845 #, c-format msgid "all required WAL segments have been archived" msgstr "alle benötigten WAL-Segmente wurden archiviert" -#: access/transam/xlog.c:8840 +#: access/transam/xlog.c:8849 #, 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:8879 +#: access/transam/xlog.c:8888 #, 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" @@ -3878,21 +3878,21 @@ msgstr "keine Berechtigung, um Vorgabeprivilegien zu ändern" 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:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 +#: catalog/aclchk.c:1595 catalog/catalog.c:652 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 +#: commands/sequence.c:1670 commands/tablecmds.c:7388 commands/tablecmds.c:7544 +#: commands/tablecmds.c:7594 commands/tablecmds.c:7668 +#: commands/tablecmds.c:7738 commands/tablecmds.c:7854 +#: commands/tablecmds.c:7948 commands/tablecmds.c:8007 +#: commands/tablecmds.c:8096 commands/tablecmds.c:8126 +#: commands/tablecmds.c:8254 commands/tablecmds.c:8336 +#: commands/tablecmds.c:8470 commands/tablecmds.c:8582 +#: commands/tablecmds.c:12307 commands/tablecmds.c:12488 +#: commands/tablecmds.c:12649 commands/tablecmds.c:13844 +#: commands/tablecmds.c:16375 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 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3415 +#: parser/parse_utilcmd.c:3451 parser/parse_utilcmd.c:3493 utils/adt/acl.c:2876 #: utils/adt/ruleutils.c:2797 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" @@ -3903,13 +3903,13 @@ msgstr "Spalte »%s« von Relation »%s« existiert nicht" msgid "\"%s\" is an index" msgstr "»%s« ist ein Index" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13955 commands/tablecmds.c:17231 +#: catalog/aclchk.c:1847 commands/tablecmds.c:14001 commands/tablecmds.c:17277 #, c-format msgid "\"%s\" is a composite type" msgstr "»%s« ist ein zusammengesetzter Typ" -#: 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 +#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1178 +#: commands/tablecmds.c:254 commands/tablecmds.c:17241 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 #, c-format @@ -4091,9 +4091,9 @@ msgstr "keine Berechtigung für Routine %s" msgid "permission denied for schema %s" msgstr "keine Berechtigung 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:2759 commands/sequence.c:666 commands/sequence.c:892 +#: commands/sequence.c:934 commands/sequence.c:975 commands/sequence.c:1768 +#: commands/sequence.c:1814 #, c-format msgid "permission denied for sequence %s" msgstr "keine Berechtigung für Sequenz %s" @@ -4334,46 +4334,46 @@ msgstr "Schema mit OID %u existiert nicht" msgid "type with OID %u does not exist" msgstr "Typ mit OID %u existiert nicht" -#: catalog/catalog.c:449 +#: catalog/catalog.c:470 #, 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:451 +#: catalog/catalog.c:472 #, 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:476 +#: catalog/catalog.c:497 #, 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:609 catalog/catalog.c:676 +#: catalog/catalog.c:630 catalog/catalog.c:697 #, c-format msgid "must be superuser to call %s()" msgstr "nur Superuser können %s() aufrufen" -#: catalog/catalog.c:618 +#: catalog/catalog.c:639 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden" -#: catalog/catalog.c:623 parser/parse_utilcmd.c:2273 +#: catalog/catalog.c:644 parser/parse_utilcmd.c:2280 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "Index »%s« gehört nicht zu Tabelle »%s«" -#: catalog/catalog.c:640 +#: catalog/catalog.c:661 #, c-format msgid "column \"%s\" is not of type oid" msgstr "Spalte »%s« hat nicht Typ oid" -#: catalog/catalog.c:647 +#: catalog/catalog.c:668 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "»%s« ist kein Index für Spalte »%s«" @@ -4424,8 +4424,8 @@ 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: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 +#: catalog/dependency.c:1227 commands/tablecmds.c:1332 +#: commands/tablecmds.c:14488 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 @@ -4453,12 +4453,12 @@ msgid_plural "drop cascades to %d other objects" msgstr[0] "Löschvorgang löscht ebenfalls %d weiteres Objekt" msgstr[1] "Löschvorgang löscht ebenfalls %d weitere Objekte" -#: catalog/dependency.c:1906 +#: catalog/dependency.c:1908 #, c-format msgid "constant of the type %s cannot be used here" msgstr "Konstante vom Typ %s kann hier nicht verwendet werden" -#: catalog/dependency.c:2431 parser/parse_relation.c:3413 +#: catalog/dependency.c:2433 parser/parse_relation.c:3413 #: parser/parse_relation.c:3423 #, c-format msgid "column %d of relation \"%s\" does not exist" @@ -4474,13 +4474,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:466 commands/tablecmds.c:2370 commands/tablecmds.c:3043 -#: commands/tablecmds.c:6925 +#: catalog/heap.c:466 commands/tablecmds.c:2371 commands/tablecmds.c:3044 +#: commands/tablecmds.c:6971 #, c-format msgid "tables can have at most %d columns" msgstr "Tabellen können höchstens %d Spalten haben" -#: catalog/heap.c:484 commands/tablecmds.c:7232 +#: catalog/heap.c:484 commands/tablecmds.c:7278 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte" @@ -4518,7 +4518,7 @@ 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:1151 catalog/index.c:887 commands/createas.c:408 -#: commands/tablecmds.c:3983 +#: commands/tablecmds.c:3996 #, c-format msgid "relation \"%s\" already exists" msgstr "Relation »%s« existiert bereits" @@ -4551,117 +4551,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:2122 +#: catalog/heap.c:2129 #, 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:2397 +#: catalog/heap.c:2404 #, c-format msgid "check constraint \"%s\" already exists" msgstr "Check-Constraint »%s« existiert bereits" -#: catalog/heap.c:2567 catalog/index.c:901 catalog/pg_constraint.c:682 -#: commands/tablecmds.c:8911 +#: catalog/heap.c:2574 catalog/index.c:901 catalog/pg_constraint.c:682 +#: commands/tablecmds.c:8957 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "Constraint »%s« existiert bereits für Relation »%s«" -#: catalog/heap.c:2574 +#: 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:2585 +#: 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:2595 +#: 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:2600 +#: 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: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:811 commands/tablecmds.c:2669 +#: commands/tablecmds.c:3196 commands/tablecmds.c:6903 +#: commands/tablecmds.c:15310 commands/tablecmds.c:15451 #, c-format msgid "too many inheritance parents" msgstr "zu viele Elterntabellen" -#: catalog/heap.c:2710 +#: 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:2712 +#: 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:2718 +#: 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:2719 +#: 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:2774 +#: catalog/heap.c:2781 #, c-format msgid "generation expression is not immutable" msgstr "Generierungsausdruck ist nicht »immutable«" -#: catalog/heap.c:2802 rewrite/rewriteHandler.c:1297 +#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1297 #, 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:2807 commands/prepare.c:334 parser/analyze.c:2753 +#: catalog/heap.c:2814 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 #, 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:2854 +#: 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:3160 +#: 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:3161 +#: 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:3166 +#: 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:3167 +#: catalog/heap.c:3174 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Tabelle »%s« verweist auf »%s«." -#: catalog/heap.c:3169 +#: 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:225 parser/parse_utilcmd.c:2179 +#: catalog/index.c:225 parser/parse_utilcmd.c:2186 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "mehrere Primärschlüssel für Tabelle »%s« nicht erlaubt" @@ -4681,7 +4681,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:786 catalog/index.c:1942 +#: catalog/index.c:786 catalog/index.c:1943 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "benutzerdefinierte Indexe für Systemkatalogtabellen werden nicht unterstützt" @@ -4696,7 +4696,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:850 catalog/index.c:1318 +#: catalog/index.c:850 catalog/index.c:1319 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unterstützt" @@ -4722,39 +4722,39 @@ msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt" 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:2241 +#: catalog/index.c:2242 #, 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:3675 +#: catalog/index.c:3676 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren" -#: catalog/index.c:3686 commands/indexcmds.c:3607 +#: catalog/index.c:3687 commands/indexcmds.c:3607 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden" -#: catalog/index.c:3702 commands/indexcmds.c:3487 commands/indexcmds.c:3631 -#: commands/tablecmds.c:3398 +#: catalog/index.c:3703 commands/indexcmds.c:3487 commands/indexcmds.c:3631 +#: commands/tablecmds.c:3411 #, c-format msgid "cannot move system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht verschoben werden" -#: catalog/index.c:3846 +#: catalog/index.c:3847 #, c-format msgid "index \"%s\" was reindexed" msgstr "Index »%s« wurde neu indiziert" -#: catalog/index.c:3983 +#: catalog/index.c:3984 #, 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:260 catalog/namespace.c:464 catalog/namespace.c:556 -#: commands/trigger.c:5736 +#: commands/trigger.c:5738 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«" @@ -4854,7 +4854,7 @@ 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:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1276 utils/adt/regproc.c:1668 +#: commands/tablecmds.c:1277 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "Schema »%s« existiert nicht" @@ -4890,26 +4890,26 @@ 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: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 +#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2203 +#: commands/tablecmds.c:12424 #, c-format msgid "\"%s\" is not a table" msgstr "»%s« ist keine Tabelle" #: catalog/objectaddress.c:1416 commands/tablecmds.c:260 -#: commands/tablecmds.c:17200 commands/view.c:119 +#: commands/tablecmds.c:17246 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "»%s« ist keine Sicht" #: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 -#: commands/tablecmds.c:17205 +#: commands/tablecmds.c:17251 #, c-format msgid "\"%s\" is not a materialized view" msgstr "»%s« ist keine materialisierte Sicht" #: catalog/objectaddress.c:1430 commands/tablecmds.c:284 -#: commands/tablecmds.c:17210 +#: commands/tablecmds.c:17256 #, c-format msgid "\"%s\" is not a foreign table" msgstr "»%s« ist keine Fremdtabelle" @@ -4929,7 +4929,7 @@ msgstr "Spaltenname muss qualifiziert werden" msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "Vorgabewert für Spalte »%s« von Relation »%s« existiert nicht" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 +#: catalog/objectaddress.c:1656 commands/functioncmds.c:138 #: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 #: utils/adt/acl.c:4441 @@ -5026,7 +5026,7 @@ msgstr "Länge der Argumentliste muss genau %d sein" msgid "must be owner of large object %u" msgstr "Berechtigung nur für Eigentümer des Large Object %u" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2523 commands/functioncmds.c:1562 #, c-format msgid "must be owner of type %s or type %s" msgstr "Berechtigung nur für Eigentümer des Typs %s oder des Typs %s" @@ -5489,7 +5489,7 @@ msgstr "»%s« ist eine Hypothetical-Set-Aggregatfunktion." msgid "cannot change number of direct arguments of an aggregate function" msgstr "die Anzahl direkter Argumente einer Aggregatfunktion kann nicht geändert werden" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:692 #: 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 @@ -5685,8 +5685,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:596 commands/tablecmds.c:4579 -#: commands/tablecmds.c:15520 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4623 +#: commands/tablecmds.c:15566 #, 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." @@ -5863,7 +5863,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:988 executor/functions.c:1467 +#: catalog/pg_proc.c:988 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-Funktion »%s«" @@ -6141,7 +6141,7 @@ msgstr "Serialisierungsfunktionen dürfen nur angegeben werden, wenn der Überga msgid "must specify both or neither of serialization and deserialization functions" msgstr "Serialisierungs- und Deserialisierungsfunktionen müssen zusammen angegeben werden" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:438 commands/functioncmds.c:640 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "Parameter »parallel« muss SAFE, RESTRICTED oder UNSAFE sein" @@ -6293,22 +6293,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:787 +#: commands/analyze.c:792 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«\n" -#: commands/analyze.c:1334 +#: commands/analyze.c:1339 #, 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:1418 +#: commands/analyze.c:1423 #, 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:1516 +#: commands/analyze.c:1521 #, 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" @@ -6368,7 +6368,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:192 commands/tablecmds.c:14256 commands/tablecmds.c:16099 +#: commands/cluster.c:192 commands/tablecmds.c:14302 commands/tablecmds.c:16145 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "Index »%s« für Tabelle »%s« existiert nicht" @@ -6383,7 +6383,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:16109 +#: commands/cluster.c:513 commands/tablecmds.c:16155 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "»%s« ist kein Index für Tabelle »%s«" @@ -6443,7 +6443,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "Attribut »%s« für Sortierfolge unbekannt" #: commands/collationcmds.c:125 commands/collationcmds.c:131 -#: commands/define.c:389 commands/tablecmds.c:7883 +#: commands/define.c:389 commands/tablecmds.c:7929 #: 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 @@ -6517,9 +6517,9 @@ msgstr "Version der Standardsortierfolge kann nicht aufgefrischt werden" #. 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/tablecmds.c:7754 commands/tablecmds.c:7764 +#: commands/tablecmds.c:14004 commands/tablecmds.c:17279 +#: commands/tablecmds.c:17300 commands/typecmds.c:3637 commands/typecmds.c:3720 #: commands/typecmds.c:4013 #, c-format msgid "Use %s instead." @@ -6838,8 +6838,8 @@ msgid "Generated columns cannot be used in COPY." msgstr "Generierte Spalten können nicht in COPY verwendet werden." #: 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 +#: commands/tablecmds.c:2402 commands/tablecmds.c:3124 +#: commands/tablecmds.c:3635 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 @@ -6847,7 +6847,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:849 commands/tablecmds.c:2427 commands/trigger.c:958 +#: commands/copy.c:849 commands/tablecmds.c:2428 commands/trigger.c:958 #: parser/parse_target.c:1084 parser/parse_target.c:1095 #, c-format msgid "column \"%s\" specified more than once" @@ -7586,7 +7586,7 @@ 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:3023 storage/ipc/procarray.c:3797 +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3809 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -7641,7 +7641,7 @@ msgstr "Argument von %s muss ein Typname sein" msgid "invalid argument for %s: \"%s\"" msgstr "ungültiges Argument für %s: »%s«" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 +#: commands/dropcmds.c:101 commands/functioncmds.c:1388 #: utils/adt/ruleutils.c:2895 #, c-format msgid "\"%s\" is an aggregate function" @@ -7652,14 +7652,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: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:158 commands/sequence.c:474 commands/tablecmds.c:3719 +#: commands/tablecmds.c:3877 commands/tablecmds.c:3929 +#: commands/tablecmds.c:16570 tcop/utility.c:1336 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "Relation »%s« existiert nicht, wird übersprungen" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1281 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1282 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "Schema »%s« existiert nicht, wird übersprungen" @@ -8284,363 +8284,363 @@ msgstr "Fremddaten-Wrapper »%s« unterstützt IMPORT FOREIGN SCHEMA nicht" msgid "importing foreign table \"%s\"" msgstr "importiere Fremdtabelle »%s«" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:110 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL-Funktion kann keinen Hüllen-Rückgabetyp %s haben" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:115 #, c-format msgid "return type %s is only a shell" msgstr "Rückgabetyp %s ist nur eine Hülle" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:144 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "Typmodifikator kann für Hüllentyp »%s« nicht angegeben werden" -#: commands/functioncmds.c:149 +#: commands/functioncmds.c:150 #, c-format msgid "type \"%s\" is not yet defined" msgstr "Typ »%s« ist noch nicht definiert" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:151 #, c-format msgid "Creating a shell type definition." msgstr "Hüllentypdefinition wird erzeugt." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:250 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-Funktion kann keinen Hüllentyp %s annehmen" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:256 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "Aggregatfunktion kann keinen Hüllentyp %s annehmen" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:261 #, c-format msgid "argument type %s is only a shell" msgstr "Argumenttyp %s ist nur eine Hülle" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:271 #, c-format msgid "type %s does not exist" msgstr "Typ %s existiert nicht" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:285 #, c-format msgid "aggregates cannot accept set arguments" msgstr "Aggregatfunktionen können keine SETOF-Argumente haben" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:289 #, c-format msgid "procedures cannot accept set arguments" msgstr "Prozeduren können keine SETOF-Argumente haben" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:293 #, c-format msgid "functions cannot accept set arguments" msgstr "Funktionen können keine SETOF-Argumente haben" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:303 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "VARIADIC-Parameter muss der letzte Eingabeparameter sein" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:323 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "VARIADIC-Parameter muss der letzte Parameter sein" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:348 #, c-format msgid "VARIADIC parameter must be an array" msgstr "VARIADIC-Parameter muss ein Array sein" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:393 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "Parametername »%s« mehrmals angegeben" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:411 #, c-format msgid "only input parameters can have default values" msgstr "nur Eingabeparameter können Vorgabewerte haben" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:426 #, c-format msgid "cannot use table references in parameter default value" msgstr "Tabellenverweise können nicht in Parametervorgabewerten verwendet werden" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:450 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "Eingabeparameter hinter einem mit Vorgabewert müssen auch einen Vorgabewert haben" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:460 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "Prozedur-OUT-Parameter können nicht nach einem Parameter mit Vorgabewert stehen" -#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#: commands/functioncmds.c:602 commands/functioncmds.c:781 #, c-format msgid "invalid attribute in procedure definition" msgstr "ungültiges Attribut in Prozedurdefinition" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:698 #, c-format msgid "support function %s must return type %s" msgstr "Unterstützungsfunktion %s muss Rückgabetyp %s haben" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:709 #, c-format msgid "must be superuser to specify a support function" msgstr "nur Superuser können eine Support-Funktion angeben" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:830 commands/functioncmds.c:1433 #, c-format msgid "COST must be positive" msgstr "COST muss positiv sein" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:838 commands/functioncmds.c:1441 #, c-format msgid "ROWS must be positive" msgstr "ROWS muss positiv sein" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:867 #, c-format msgid "no function body specified" msgstr "kein Funktionskörper angegeben" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:872 #, c-format msgid "duplicate function body specified" msgstr "doppelter Funktionskörper angegeben" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:877 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "Inline-SQL-Funktionskörper ist nur gültig für Sprache SQL" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:919 #, c-format msgid "SQL function with unquoted function body cannot have polymorphic arguments" msgstr "SQL-Funktion mit Funktionsrumpf nicht in Anführungszeichen kann keine polymorphen Argumente haben" -#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#: commands/functioncmds.c:945 commands/functioncmds.c:964 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "%s ist in SQL-Funktionen nicht in Anführungszeichen noch nicht erlaubt" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:992 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "nur ein AS-Element benötigt für Sprache »%s«" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1097 #, c-format msgid "no language specified" msgstr "keine Sprache angegeben" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 +#: commands/functioncmds.c:1105 commands/functioncmds.c:2106 #: commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "Sprache »%s« existiert nicht" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1107 commands/functioncmds.c:2108 #, 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." -#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 +#: commands/functioncmds.c:1140 commands/functioncmds.c:1425 #, c-format msgid "only superuser can define a leakproof function" msgstr "nur Superuser können eine »leakproof«-Funktion definieren" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1191 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "Ergebnistyp der Funktion muss %s sein wegen OUT-Parametern" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1204 #, c-format msgid "function result type must be specified" msgstr "Ergebnistyp der Funktion muss angegeben werden" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1257 commands/functioncmds.c:1445 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "ROWS ist nicht anwendbar, wenn die Funktion keine Ergebnismenge zurückgibt" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1548 #, c-format msgid "source data type %s is a pseudo-type" msgstr "Quelldatentyp %s ist ein Pseudotyp" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1554 #, c-format msgid "target data type %s is a pseudo-type" msgstr "Zieldatentyp %s ist ein Pseudotyp" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1578 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "Typumwandlung wird ignoriert werden, weil der Quelldatentyp eine Domäne ist" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1583 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "Typumwandlung wird ignoriert werden, weil der Zieldatentyp eine Domäne ist" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1608 #, c-format msgid "cast function must take one to three arguments" msgstr "Typumwandlungsfunktion muss ein bis drei Argumente haben" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1614 #, c-format msgid "argument of cast function must match or be binary-coercible from source data type" msgstr "Argument der Typumwandlungsfunktion muss mit Quelldatentyp übereinstimmen oder in ihn binär-umwandelbar sein" -#: commands/functioncmds.c:1617 +#: commands/functioncmds.c:1618 #, c-format msgid "second argument of cast function must be type %s" msgstr "zweites Argument der Typumwandlungsfunktion muss Typ %s haben" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1623 #, c-format msgid "third argument of cast function must be type %s" msgstr "drittes Argument der Typumwandlungsfunktion muss Typ %s haben" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1630 #, c-format msgid "return data type of cast function must match or be binary-coercible to target data type" msgstr "Rückgabetyp der Typumwandlungsfunktion muss mit Zieldatentyp übereinstimmen oder in ihn binär-umwandelbar sein" -#: commands/functioncmds.c:1640 +#: commands/functioncmds.c:1641 #, c-format msgid "cast function must not be volatile" msgstr "Typumwandlungsfunktion darf nicht VOLATILE sein" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1646 #, c-format msgid "cast function must be a normal function" msgstr "Typumwandlungsfunktion muss eine normale Funktion sein" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1650 #, c-format msgid "cast function must not return a set" msgstr "Typumwandlungsfunktion darf keine Ergebnismenge zurückgeben" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1676 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "nur Superuser können Typumwandlungen mit WITHOUT FUNCTION erzeugen" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1691 #, c-format msgid "source and target data types are not physically compatible" msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1706 #, c-format msgid "composite data types are not binary-compatible" msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1711 +#: commands/functioncmds.c:1712 #, c-format msgid "enum data types are not binary-compatible" msgstr "Enum-Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1718 #, c-format msgid "array data types are not binary-compatible" msgstr "Array-Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1735 #, 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:1744 +#: commands/functioncmds.c:1745 #, c-format msgid "source data type and target data type are the same" msgstr "Quelldatentyp und Zieldatentyp sind der selbe" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1778 #, c-format msgid "transform function must not be volatile" msgstr "Transformationsfunktion darf nicht VOLATILE sein" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1782 #, c-format msgid "transform function must be a normal function" msgstr "Transformationsfunktion muss eine normale Funktion sein" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1786 #, c-format msgid "transform function must not return a set" msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1790 #, c-format msgid "transform function must take one argument" msgstr "Transformationsfunktion muss ein Argument haben" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1794 #, c-format msgid "first argument of transform function must be type %s" msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1833 #, c-format msgid "data type %s is a pseudo-type" msgstr "Datentyp %s ist ein Pseudotyp" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1839 #, c-format msgid "data type %s is a domain" msgstr "Datentyp %s ist eine Domäne" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1879 #, 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:1904 +#: commands/functioncmds.c:1905 #, 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:1931 +#: commands/functioncmds.c:1932 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "Transformation für Typ %s Sprache »%s« existiert bereits" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2018 #, 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:2041 +#: commands/functioncmds.c:2042 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "Funktion %s existiert bereits in Schema »%s«" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2093 #, c-format msgid "no inline code specified" msgstr "kein Inline-Code angegeben" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2139 #, 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:2233 +#: commands/functioncmds.c:2234 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -8677,12 +8677,12 @@ msgstr "kann keinen Exclusion-Constraint für partitionierte Tabelle »%s« erze 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:766 commands/tablecmds.c:784 commands/tablespace.c:1184 +#: commands/indexcmds.c:766 commands/tablecmds.c:785 commands/tablespace.c:1184 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden" -#: commands/indexcmds.c:798 commands/tablecmds.c:815 commands/tablecmds.c:3405 +#: commands/indexcmds.c:798 commands/tablecmds.c:816 commands/tablecmds.c:3418 #, 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" @@ -8757,13 +8757,13 @@ msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind." msgid "functions in index predicate must be marked IMMUTABLE" msgstr "Funktionen im Indexprädikat müssen als IMMUTABLE markiert sein" -#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2522 -#: parser/parse_utilcmd.c:2657 +#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2529 +#: parser/parse_utilcmd.c:2664 #, 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:1905 parser/parse_utilcmd.c:1821 +#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1817 #, c-format msgid "expressions are not supported in included columns" msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt" @@ -8798,8 +8798,8 @@ msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht" 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:2022 commands/tablecmds.c:17534 commands/typecmds.c:807 -#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3783 +#: commands/indexcmds.c:2022 commands/tablecmds.c:17580 commands/typecmds.c:807 +#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3773 #: utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" @@ -8835,8 +8835,8 @@ msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht" 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:2204 commands/tablecmds.c:17559 -#: commands/tablecmds.c:17565 commands/typecmds.c:2301 +#: commands/indexcmds.c:2204 commands/tablecmds.c:17605 +#: commands/tablecmds.c:17611 commands/typecmds.c:2301 #, 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«" @@ -9251,10 +9251,10 @@ msgid "operator attribute \"%s\" cannot be changed" msgstr "Operator-Attribut »%s« kann nicht geändert werden" #: 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/tablecmds.c:1613 commands/tablecmds.c:2216 +#: commands/tablecmds.c:3529 commands/tablecmds.c:6411 +#: commands/tablecmds.c:9238 commands/tablecmds.c:17167 +#: commands/tablecmds.c:17202 commands/trigger.c:323 commands/trigger.c:1339 #: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 #: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 #, c-format @@ -9307,7 +9307,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:2854 utils/adt/xml.c:3024 +#: executor/execCurrent.c:70 utils/adt/xml.c:2896 utils/adt/xml.c:3066 #, c-format msgid "cursor \"%s\" does not exist" msgstr "Cursor »%s« existiert nicht" @@ -9590,123 +9590,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:754 +#: commands/sequence.c:761 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "nextval: Maximalwert von Sequenz »%s« erreicht (%lld)" -#: commands/sequence.c:773 +#: commands/sequence.c:780 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "nextval: Minimalwert von Sequenz »%s« erreicht (%lld)" -#: commands/sequence.c:891 +#: commands/sequence.c:898 #, 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:910 commands/sequence.c:916 +#: commands/sequence.c:917 commands/sequence.c:923 #, c-format msgid "lastval is not yet defined in this session" msgstr "lastval ist in dieser Sitzung noch nicht definiert" -#: commands/sequence.c:996 +#: commands/sequence.c:1003 #, 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:1365 +#: commands/sequence.c:1372 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "ungültige Sequenzoption SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1398 #, 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:1392 +#: commands/sequence.c:1399 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "Sequenztyp muss smallint, integer oder bigint sein" -#: commands/sequence.c:1426 +#: commands/sequence.c:1433 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT darf nicht null sein" -#: commands/sequence.c:1474 +#: commands/sequence.c:1481 #, 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:1506 +#: commands/sequence.c:1513 #, 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:1514 +#: commands/sequence.c:1521 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld) muss kleiner als MAXVALUE (%lld) sein" -#: commands/sequence.c:1535 +#: commands/sequence.c:1542 #, 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:1541 +#: commands/sequence.c:1548 #, 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:1565 +#: commands/sequence.c:1572 #, 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:1571 +#: commands/sequence.c:1578 #, 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:1582 +#: commands/sequence.c:1589 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "CACHE (%lld) muss größer als null sein" -#: commands/sequence.c:1618 +#: commands/sequence.c:1625 #, c-format msgid "invalid OWNED BY option" msgstr "ungültige OWNED BY Option" -#: commands/sequence.c:1619 +#: commands/sequence.c:1626 #, 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:1644 +#: commands/sequence.c:1651 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "Sequenz kann nicht mit Relation »%s« verknüpft werden" -#: commands/sequence.c:1652 +#: commands/sequence.c:1659 #, 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:1656 +#: commands/sequence.c:1663 #, 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:1678 +#: commands/sequence.c:1685 #, c-format msgid "cannot change ownership of identity sequence" msgstr "kann Eigentümer einer Identitätssequenz nicht ändern" -#: commands/sequence.c:1679 commands/tablecmds.c:13945 -#: commands/tablecmds.c:16544 +#: commands/sequence.c:1686 commands/tablecmds.c:13991 +#: commands/tablecmds.c:16590 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft." @@ -9776,12 +9776,12 @@ msgstr "doppelter Spaltenname in Statistikdefinition" msgid "duplicate expression in statistics definition" msgstr "doppelter Ausdruck in Statistikdefinition" -#: commands/statscmds.c:619 commands/tablecmds.c:8187 +#: commands/statscmds.c:619 commands/tablecmds.c:8233 #, c-format msgid "statistics target %d is too low" msgstr "Statistikziel %d ist zu niedrig" -#: commands/statscmds.c:627 commands/tablecmds.c:8195 +#: commands/statscmds.c:627 commands/tablecmds.c:8241 #, c-format msgid "lowering statistics target to %d" msgstr "setze Statistikziel auf %d herab" @@ -10065,8 +10065,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:270 commands/tablecmds.c:294 commands/tablecmds.c:19043 -#: parser/parse_utilcmd.c:2254 +#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19098 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "index \"%s\" does not exist" msgstr "Index »%s« existiert nicht" @@ -10089,8 +10089,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:282 commands/tablecmds.c:13784 -#: commands/tablecmds.c:16249 +#: commands/tablecmds.c:282 commands/tablecmds.c:13830 +#: commands/tablecmds.c:16295 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "Fremdtabelle »%s« existiert nicht" @@ -10104,130 +10104,130 @@ 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:700 +#: commands/tablecmds.c:701 #, 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:731 +#: commands/tablecmds.c:732 #, 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:767 commands/tablecmds.c:15094 +#: commands/tablecmds.c:768 commands/tablecmds.c:15140 #, 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:951 +#: commands/tablecmds.c:952 #, c-format msgid "specifying a table access method is not supported on a partitioned table" msgstr "Angabe einer Tabellenzugriffsmethode wird für partitionierte Tabellen nicht unterstützt" -#: commands/tablecmds.c:1044 +#: commands/tablecmds.c:1045 #, c-format msgid "\"%s\" is not partitioned" msgstr "»%s« ist nicht partitioniert" -#: commands/tablecmds.c:1138 +#: commands/tablecmds.c:1139 #, c-format msgid "cannot partition using more than %d columns" msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden" -#: commands/tablecmds.c:1194 +#: commands/tablecmds.c:1195 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen" -#: commands/tablecmds.c:1196 +#: commands/tablecmds.c:1197 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Tabelle »%s« enthält Unique Indexe." -#: commands/tablecmds.c:1361 +#: commands/tablecmds.c:1362 #, 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:1365 +#: commands/tablecmds.c:1366 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE" -#: commands/tablecmds.c:1469 +#: commands/tablecmds.c:1470 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "kann partitionierten Index »%s« nicht nebenläufig löschen" -#: commands/tablecmds.c:1757 +#: commands/tablecmds.c:1758 #, c-format msgid "cannot truncate only a partitioned table" msgstr "kann nicht nur eine partitionierte Tabelle leeren" -#: commands/tablecmds.c:1758 +#: commands/tablecmds.c:1759 #, 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:1831 +#: commands/tablecmds.c:1832 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«" -#: commands/tablecmds.c:2195 +#: commands/tablecmds.c:2196 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht leeren" -#: commands/tablecmds.c:2252 +#: commands/tablecmds.c:2253 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren" -#: commands/tablecmds.c:2484 commands/tablecmds.c:14991 +#: commands/tablecmds.c:2485 commands/tablecmds.c:15037 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2489 +#: commands/tablecmds.c:2490 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "von Partition »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2497 parser/parse_utilcmd.c:2484 -#: parser/parse_utilcmd.c:2626 +#: commands/tablecmds.c:2498 parser/parse_utilcmd.c:2491 +#: parser/parse_utilcmd.c:2633 #, 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:2509 +#: commands/tablecmds.c:2510 #, 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:2518 commands/tablecmds.c:14970 +#: commands/tablecmds.c:2519 commands/tablecmds.c:15016 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "von temporärer Relation »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2528 commands/tablecmds.c:14978 +#: commands/tablecmds.c:2529 commands/tablecmds.c:15024 #, 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:2581 +#: commands/tablecmds.c:2582 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt" -#: commands/tablecmds.c:2593 +#: commands/tablecmds.c:2594 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "geerbte Spalte »%s« hat Typkonflikt" -#: commands/tablecmds.c:2595 commands/tablecmds.c:2624 -#: commands/tablecmds.c:2643 commands/tablecmds.c:2915 -#: commands/tablecmds.c:2951 commands/tablecmds.c:2967 +#: commands/tablecmds.c:2596 commands/tablecmds.c:2625 +#: commands/tablecmds.c:2644 commands/tablecmds.c:2916 +#: commands/tablecmds.c:2952 commands/tablecmds.c:2968 #: 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 @@ -10238,1214 +10238,1219 @@ msgstr "geerbte Spalte »%s« hat Typkonflikt" msgid "%s versus %s" msgstr "%s gegen %s" -#: commands/tablecmds.c:2608 +#: commands/tablecmds.c:2609 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt" -#: commands/tablecmds.c:2610 commands/tablecmds.c:2931 -#: commands/tablecmds.c:6848 +#: commands/tablecmds.c:2611 commands/tablecmds.c:2932 +#: commands/tablecmds.c:6894 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "»%s« gegen »%s«" -#: commands/tablecmds.c:2622 +#: commands/tablecmds.c:2623 #, 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:2641 commands/tablecmds.c:2965 +#: commands/tablecmds.c:2642 commands/tablecmds.c:2966 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "für Spalte »%s« besteht ein Komprimierungsmethodenkonflikt" -#: commands/tablecmds.c:2657 +#: commands/tablecmds.c:2658 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt" -#: 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:2764 commands/tablecmds.c:2819 +#: commands/tablecmds.c:12523 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1745 +#: parser/parse_utilcmd.c:1853 #, c-format msgid "cannot convert whole-row table reference" msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln" -#: commands/tablecmds.c:2764 parser/parse_utilcmd.c:1308 +#: commands/tablecmds.c:2765 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:2819 parser/parse_utilcmd.c:1351 +#: commands/tablecmds.c:2820 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:2897 +#: commands/tablecmds.c:2898 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:2902 #, 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:2902 +#: commands/tablecmds.c:2903 #, 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:2913 +#: commands/tablecmds.c:2914 #, c-format msgid "column \"%s\" has a type conflict" msgstr "für Spalte »%s« besteht ein Typkonflikt" -#: commands/tablecmds.c:2929 +#: commands/tablecmds.c:2930 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt" -#: commands/tablecmds.c:2949 +#: commands/tablecmds.c:2950 #, 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:2995 commands/tablecmds.c:3082 +#: commands/tablecmds.c:2996 commands/tablecmds.c:3083 #, 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:3000 commands/tablecmds.c:3087 +#: commands/tablecmds.c:3001 commands/tablecmds.c:3088 #, 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:3008 commands/tablecmds.c:3095 +#: commands/tablecmds.c:3009 commands/tablecmds.c:3096 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "abgeleitete Spalte »%s« gibt einen Generierungsausdruck an" -#: commands/tablecmds.c:3010 commands/tablecmds.c:3097 +#: commands/tablecmds.c:3011 commands/tablecmds.c:3098 #, 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:3143 +#: commands/tablecmds.c:3144 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "Spalte »%s« erbt widersprüchliche Generierungsausdrücke" -#: commands/tablecmds.c:3145 +#: commands/tablecmds.c:3146 #, 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:3149 +#: commands/tablecmds.c:3150 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte" -#: commands/tablecmds.c:3151 +#: commands/tablecmds.c:3152 #, 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:3201 +#: commands/tablecmds.c:3202 #, 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:3414 +#: commands/tablecmds.c:3427 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden" -#: commands/tablecmds.c:3484 +#: commands/tablecmds.c:3497 #, c-format msgid "cannot rename column of typed table" msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden" -#: commands/tablecmds.c:3503 +#: commands/tablecmds.c:3516 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "Spalten von Relation »%s« können nicht umbenannt werden" -#: commands/tablecmds.c:3598 +#: commands/tablecmds.c:3611 #, 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:3630 +#: commands/tablecmds.c:3643 #, c-format msgid "cannot rename system column \"%s\"" msgstr "Systemspalte »%s« kann nicht umbenannt werden" -#: commands/tablecmds.c:3645 +#: commands/tablecmds.c:3658 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht umbenennen" -#: commands/tablecmds.c:3797 +#: commands/tablecmds.c:3810 #, 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:3804 +#: commands/tablecmds.c:3817 #, 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:4101 +#: commands/tablecmds.c:4114 #, 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:4110 +#: commands/tablecmds.c:4123 #, 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:4577 +#: commands/tablecmds.c:4149 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "kann temporäre Tabellen anderer Sitzungen nicht ändern" + +#: commands/tablecmds.c:4621 #, 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:4770 commands/tablecmds.c:4785 +#: commands/tablecmds.c:4814 commands/tablecmds.c:4829 #, c-format msgid "cannot change persistence setting twice" msgstr "Persistenzeinstellung kann nicht zweimal geändert werden" -#: commands/tablecmds.c:4806 +#: commands/tablecmds.c:4850 #, c-format msgid "cannot change access method of a partitioned table" msgstr "Zugriffsmethode einer partitionierten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:4812 +#: commands/tablecmds.c:4856 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "mehrere SET ACCESS METHOD Unterbefehle sind ungültig" -#: commands/tablecmds.c:5533 +#: commands/tablecmds.c:5577 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5539 +#: commands/tablecmds.c:5583 #, 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:5549 +#: commands/tablecmds.c:5595 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben" -#: commands/tablecmds.c:6044 +#: commands/tablecmds.c:6090 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte" -#: commands/tablecmds.c:6061 +#: commands/tablecmds.c:6107 #, 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:6080 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6126 partitioning/partbounds.c:3388 #, 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:6086 +#: commands/tablecmds.c:6132 #, 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:6348 +#: commands/tablecmds.c:6394 #, 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:6603 commands/tablecmds.c:6610 +#: commands/tablecmds.c:6649 commands/tablecmds.c:6656 #, 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:6617 +#: commands/tablecmds.c:6663 #, 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:6624 +#: commands/tablecmds.c:6670 #, 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:6680 +#: commands/tablecmds.c:6726 #, 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:6682 +#: commands/tablecmds.c:6728 #, 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:6728 +#: commands/tablecmds.c:6774 #, c-format msgid "type %s is not a composite type" msgstr "Typ %s ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6801 #, c-format msgid "cannot add column to typed table" msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:6811 +#: commands/tablecmds.c:6857 #, c-format msgid "cannot add column to a partition" msgstr "zu einer Partition kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:6840 commands/tablecmds.c:15221 +#: commands/tablecmds.c:6886 commands/tablecmds.c:15267 #, 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:6846 commands/tablecmds.c:15228 +#: commands/tablecmds.c:6892 commands/tablecmds.c:15274 #, 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:6864 +#: commands/tablecmds.c:6910 #, 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:6911 +#: commands/tablecmds.c:6957 #, 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:7162 +#: commands/tablecmds.c:7208 #, 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:7240 +#: commands/tablecmds.c:7286 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen" -#: commands/tablecmds.c:7247 +#: commands/tablecmds.c:7293 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "Spalte »%s« von Relation »%s« existiert bereits" -#: commands/tablecmds.c:7313 commands/tablecmds.c:12115 +#: commands/tablecmds.c:7359 commands/tablecmds.c:12161 #, 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:7314 commands/tablecmds.c:7631 -#: commands/tablecmds.c:8604 commands/tablecmds.c:12116 +#: commands/tablecmds.c:7360 commands/tablecmds.c:7677 +#: commands/tablecmds.c:8650 commands/tablecmds.c:12162 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Lassen Sie das Schlüsselwort ONLY weg." -#: 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:7397 commands/tablecmds.c:7603 +#: commands/tablecmds.c:7745 commands/tablecmds.c:7863 +#: commands/tablecmds.c:7957 commands/tablecmds.c:8016 +#: commands/tablecmds.c:8135 commands/tablecmds.c:8274 +#: commands/tablecmds.c:8344 commands/tablecmds.c:8478 +#: commands/tablecmds.c:12316 commands/tablecmds.c:13853 +#: commands/tablecmds.c:16384 #, c-format msgid "cannot alter system column \"%s\"" msgstr "Systemspalte »%s« kann nicht geändert werden" -#: commands/tablecmds.c:7357 commands/tablecmds.c:7705 +#: commands/tablecmds.c:7403 commands/tablecmds.c:7751 #, 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:7400 +#: commands/tablecmds.c:7446 #, c-format msgid "column \"%s\" is in a primary key" msgstr "Spalte »%s« ist in einem Primärschlüssel" -#: commands/tablecmds.c:7405 +#: commands/tablecmds.c:7451 #, 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:7428 +#: commands/tablecmds.c:7474 #, 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:7628 commands/tablecmds.c:9088 +#: commands/tablecmds.c:7674 commands/tablecmds.c:9134 #, 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:7629 +#: commands/tablecmds.c:7675 #, 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:7714 +#: commands/tablecmds.c:7760 #, 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:7828 +#: commands/tablecmds.c:7874 #, 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:7834 +#: commands/tablecmds.c:7880 #, 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:7840 +#: commands/tablecmds.c:7886 #, 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:7917 commands/tablecmds.c:7978 +#: commands/tablecmds.c:7963 commands/tablecmds.c:8024 #, 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:7983 +#: commands/tablecmds.c:8029 #, 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:8036 +#: commands/tablecmds.c:8082 #, 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:8058 +#: commands/tablecmds.c:8104 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden" -#: commands/tablecmds.c:8097 +#: commands/tablecmds.c:8143 #, 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:8102 +#: commands/tablecmds.c:8148 #, 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:8175 +#: commands/tablecmds.c:8221 #, 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:8218 +#: commands/tablecmds.c:8264 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "Spalte Nummer %d von Relation »%s« existiert nicht" -#: commands/tablecmds.c:8237 +#: commands/tablecmds.c:8283 #, 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:8242 +#: commands/tablecmds.c:8288 #, 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:8244 +#: commands/tablecmds.c:8290 #, c-format msgid "Alter statistics on table column instead." msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte." -#: commands/tablecmds.c:8479 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop column from typed table" msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden" -#: commands/tablecmds.c:8542 +#: commands/tablecmds.c:8588 #, 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:8555 +#: commands/tablecmds.c:8601 #, c-format msgid "cannot drop system column \"%s\"" msgstr "Systemspalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:8565 +#: commands/tablecmds.c:8611 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "geerbte Spalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:8578 +#: commands/tablecmds.c:8624 #, 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:8603 +#: commands/tablecmds.c:8649 #, 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:8808 +#: commands/tablecmds.c:8854 #, 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:8833 +#: commands/tablecmds.c:8879 #, 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:9170 +#: commands/tablecmds.c:9216 #, 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:9176 +#: commands/tablecmds.c:9222 #, 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:9179 +#: commands/tablecmds.c:9225 #, 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:9186 commands/tablecmds.c:9642 +#: commands/tablecmds.c:9232 commands/tablecmds.c:9688 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle" -#: commands/tablecmds.c:9209 +#: commands/tablecmds.c:9255 #, 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:9216 +#: commands/tablecmds.c:9262 #, 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:9222 +#: commands/tablecmds.c:9268 #, 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:9226 +#: commands/tablecmds.c:9272 #, 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:9290 commands/tablecmds.c:9296 +#: commands/tablecmds.c:9336 commands/tablecmds.c:9342 #, 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:9312 +#: commands/tablecmds.c:9358 #, 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:9419 +#: commands/tablecmds.c:9465 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden" -#: commands/tablecmds.c:9421 +#: commands/tablecmds.c:9467 #, 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:9578 +#: commands/tablecmds.c:9624 #, 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:9852 commands/tablecmds.c:10322 -#: parser/parse_utilcmd.c:800 parser/parse_utilcmd.c:929 +#: commands/tablecmds.c:9898 commands/tablecmds.c:10368 +#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:923 #, 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:10875 commands/tablecmds.c:11156 -#: commands/tablecmds.c:12072 commands/tablecmds.c:12147 +#: commands/tablecmds.c:10921 commands/tablecmds.c:11202 +#: commands/tablecmds.c:12118 commands/tablecmds.c:12193 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "Constraint »%s« von Relation »%s« existiert nicht" -#: commands/tablecmds.c:10882 +#: commands/tablecmds.c:10928 #, 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:10920 +#: commands/tablecmds.c:10966 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:10923 +#: commands/tablecmds.c:10969 #, 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:10925 +#: commands/tablecmds.c:10971 #, 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:11164 +#: commands/tablecmds.c:11210 #, 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:11241 +#: commands/tablecmds.c:11287 #, c-format msgid "constraint must be validated on child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden" -#: commands/tablecmds.c:11328 +#: commands/tablecmds.c:11374 #, 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:11334 +#: commands/tablecmds.c:11380 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "Systemspalten können nicht in Fremdschlüsseln verwendet werden" -#: commands/tablecmds.c:11338 +#: commands/tablecmds.c:11384 #, 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:11403 +#: commands/tablecmds.c:11449 #, 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:11420 +#: commands/tablecmds.c:11466 #, 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:11488 +#: commands/tablecmds.c:11534 #, 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:11580 +#: commands/tablecmds.c:11626 #, 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:11585 +#: commands/tablecmds.c:11631 #, 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:12028 +#: commands/tablecmds.c:12074 #, 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:12078 +#: commands/tablecmds.c:12124 #, 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:12254 +#: commands/tablecmds.c:12300 #, c-format msgid "cannot alter column type of typed table" msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:12281 +#: commands/tablecmds.c:12327 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht ändern" -#: commands/tablecmds.c:12290 +#: commands/tablecmds.c:12336 #, 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:12340 +#: commands/tablecmds.c:12386 #, 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:12343 +#: commands/tablecmds.c:12389 #, 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:12347 +#: commands/tablecmds.c:12393 #, 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:12350 +#: commands/tablecmds.c:12396 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Sie müssen möglicherweise »USING %s::%s« angeben." -#: commands/tablecmds.c:12449 +#: commands/tablecmds.c:12495 #, 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:12478 +#: commands/tablecmds.c:12524 #, 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:12489 +#: commands/tablecmds.c:12535 #, 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:12614 +#: commands/tablecmds.c:12660 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden" -#: commands/tablecmds.c:12652 +#: commands/tablecmds.c:12698 #, 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:12657 +#: commands/tablecmds.c:12703 #, 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:12745 +#: commands/tablecmds.c:12791 #, 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:12746 commands/tablecmds.c:12760 -#: commands/tablecmds.c:12779 commands/tablecmds.c:12797 -#: commands/tablecmds.c:12855 +#: commands/tablecmds.c:12792 commands/tablecmds.c:12806 +#: commands/tablecmds.c:12825 commands/tablecmds.c:12843 +#: commands/tablecmds.c:12901 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s hängt von Spalte »%s« ab" -#: commands/tablecmds.c:12759 +#: commands/tablecmds.c:12805 #, 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:12778 +#: commands/tablecmds.c:12824 #, 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:12796 +#: commands/tablecmds.c:12842 #, 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:12827 +#: commands/tablecmds.c:12873 #, 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:12828 +#: commands/tablecmds.c:12874 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet." -#: commands/tablecmds.c:12854 +#: commands/tablecmds.c:12900 #, 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:13915 commands/tablecmds.c:13927 +#: commands/tablecmds.c:13961 commands/tablecmds.c:13973 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "kann Eigentümer des Index »%s« nicht ändern" -#: commands/tablecmds.c:13917 commands/tablecmds.c:13929 +#: commands/tablecmds.c:13963 commands/tablecmds.c:13975 #, 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:13943 +#: commands/tablecmds.c:13989 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "kann Eigentümer der Sequenz »%s« nicht ändern" -#: commands/tablecmds.c:13968 +#: commands/tablecmds.c:14014 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "kann Eigentümer der Relation »%s« nicht ändern" -#: commands/tablecmds.c:14330 +#: commands/tablecmds.c:14376 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig" -#: commands/tablecmds.c:14407 +#: commands/tablecmds.c:14453 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "für Relation »%s« können keine Optionen gesetzt werden" -#: commands/tablecmds.c:14441 commands/view.c:445 +#: commands/tablecmds.c:14487 commands/view.c:445 #, 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:14691 +#: commands/tablecmds.c:14737 #, 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:14703 +#: commands/tablecmds.c:14749 #, 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:14795 +#: commands/tablecmds.c:14841 #, 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:14811 +#: commands/tablecmds.c:14857 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "keine passenden Relationen in Tablespace »%s« gefunden" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:14975 #, c-format msgid "cannot change inheritance of typed table" msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:14934 commands/tablecmds.c:15452 +#: commands/tablecmds.c:14980 commands/tablecmds.c:15498 #, c-format msgid "cannot change inheritance of a partition" msgstr "Vererbung einer Partition kann nicht geändert werden" -#: commands/tablecmds.c:14939 +#: commands/tablecmds.c:14985 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:14985 +#: commands/tablecmds.c:15031 #, 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:14998 +#: commands/tablecmds.c:15044 #, c-format msgid "cannot inherit from a partition" msgstr "von einer Partition kann nicht geerbt werden" -#: commands/tablecmds.c:15020 commands/tablecmds.c:17878 +#: commands/tablecmds.c:15066 commands/tablecmds.c:17924 #, c-format msgid "circular inheritance not allowed" msgstr "zirkuläre Vererbung ist nicht erlaubt" -#: commands/tablecmds.c:15021 commands/tablecmds.c:17879 +#: commands/tablecmds.c:15067 commands/tablecmds.c:17925 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "»%s« ist schon von »%s« abgeleitet." -#: commands/tablecmds.c:15034 +#: commands/tablecmds.c:15080 #, 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:15036 +#: commands/tablecmds.c:15082 #, 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:15239 +#: commands/tablecmds.c:15285 #, 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:15248 +#: commands/tablecmds.c:15294 #, 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:15253 +#: commands/tablecmds.c:15299 #, 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:15284 +#: commands/tablecmds.c:15330 #, c-format msgid "child table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:15372 +#: commands/tablecmds.c:15418 #, 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:15380 +#: commands/tablecmds.c:15426 #, 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:15391 +#: commands/tablecmds.c:15437 #, 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:15430 +#: commands/tablecmds.c:15476 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:15516 +#: commands/tablecmds.c:15562 #, 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:15545 commands/tablecmds.c:15593 +#: commands/tablecmds.c:15591 commands/tablecmds.c:15639 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "Relation »%s« ist keine Partition von Relation »%s«" -#: commands/tablecmds.c:15599 +#: commands/tablecmds.c:15645 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«" -#: commands/tablecmds.c:15827 +#: commands/tablecmds.c:15873 #, c-format msgid "typed tables cannot inherit" msgstr "getypte Tabellen können nicht erben" -#: commands/tablecmds.c:15857 +#: commands/tablecmds.c:15903 #, c-format msgid "table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in Tabelle" -#: commands/tablecmds.c:15868 +#: commands/tablecmds.c:15914 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«" -#: commands/tablecmds.c:15877 +#: commands/tablecmds.c:15923 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:15891 +#: commands/tablecmds.c:15937 #, c-format msgid "table has extra column \"%s\"" msgstr "Tabelle hat zusätzliche Spalte »%s«" -#: commands/tablecmds.c:15943 +#: commands/tablecmds.c:15989 #, c-format msgid "\"%s\" is not a typed table" msgstr "»%s« ist keine getypte Tabelle" -#: commands/tablecmds.c:16117 +#: commands/tablecmds.c:16163 #, 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:16123 +#: commands/tablecmds.c:16169 #, 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:16129 +#: commands/tablecmds.c:16175 #, 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:16135 +#: commands/tablecmds.c:16181 #, 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:16152 +#: commands/tablecmds.c:16198 #, 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:16159 +#: commands/tablecmds.c:16205 #, 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:16404 +#: commands/tablecmds.c:16450 #, 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:16428 +#: commands/tablecmds.c:16474 #, 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:16430 +#: commands/tablecmds.c:16476 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ungeloggte Relationen können nicht repliziert werden." -#: commands/tablecmds.c:16475 +#: commands/tablecmds.c:16521 #, 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:16485 +#: commands/tablecmds.c:16531 #, 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:16543 +#: commands/tablecmds.c:16589 #, 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:16645 +#: commands/tablecmds.c:16691 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "Relation »%s« existiert bereits in Schema »%s«" -#: commands/tablecmds.c:17065 +#: commands/tablecmds.c:17111 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "»%s« ist keine Tabelle oder materialisierte Sicht" -#: commands/tablecmds.c:17215 +#: commands/tablecmds.c:17261 #, c-format msgid "\"%s\" is not a composite type" msgstr "»%s« ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:17245 +#: commands/tablecmds.c:17291 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "kann Schema des Index »%s« nicht ändern" -#: commands/tablecmds.c:17247 commands/tablecmds.c:17261 +#: commands/tablecmds.c:17293 commands/tablecmds.c:17307 #, c-format msgid "Change the schema of the table instead." msgstr "Ändern Sie stattdessen das Schema der Tabelle." -#: commands/tablecmds.c:17251 +#: commands/tablecmds.c:17297 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "kann Schema des zusammengesetzten Typs »%s« nicht ändern" -#: commands/tablecmds.c:17259 +#: commands/tablecmds.c:17305 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "kann Schema der TOAST-Tabelle »%s« nicht ändern" -#: commands/tablecmds.c:17291 +#: commands/tablecmds.c:17337 #, 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:17357 +#: commands/tablecmds.c:17403 #, 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:17365 +#: commands/tablecmds.c:17411 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17376 commands/tablecmds.c:17466 +#: commands/tablecmds.c:17422 commands/tablecmds.c:17512 #, c-format msgid "cannot use generated column in partition key" msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17377 commands/tablecmds.c:17467 commands/trigger.c:663 +#: commands/tablecmds.c:17423 commands/tablecmds.c:17513 commands/trigger.c:663 #: rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Spalte »%s« ist eine generierte Spalte." -#: commands/tablecmds.c:17449 +#: commands/tablecmds.c:17495 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen" -#: commands/tablecmds.c:17496 +#: commands/tablecmds.c:17542 #, 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:17505 +#: commands/tablecmds.c:17551 #, c-format msgid "cannot use constant expression as partition key" msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein" -#: commands/tablecmds.c:17526 +#: commands/tablecmds.c:17572 #, 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:17561 +#: commands/tablecmds.c:17607 #, 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:17567 +#: commands/tablecmds.c:17613 #, 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:17818 +#: commands/tablecmds.c:17864 #, c-format msgid "\"%s\" is already a partition" msgstr "»%s« ist bereits eine Partition" -#: commands/tablecmds.c:17824 +#: commands/tablecmds.c:17870 #, c-format msgid "cannot attach a typed table as partition" msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:17840 +#: commands/tablecmds.c:17886 #, c-format msgid "cannot attach inheritance child as partition" msgstr "ein Vererbungskind kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:17854 +#: commands/tablecmds.c:17900 #, 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:17888 +#: commands/tablecmds.c:17934 #, 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:17896 +#: commands/tablecmds.c:17942 #, 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:17904 +#: commands/tablecmds.c:17950 #, 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:17911 +#: commands/tablecmds.c:17957 #, 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:17931 +#: commands/tablecmds.c:17977 #, 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:17934 +#: commands/tablecmds.c:17980 #, 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:17946 +#: commands/tablecmds.c:17992 #, 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:17948 +#: commands/tablecmds.c:17994 #, 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:18127 +#: commands/tablecmds.c:18173 #, 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:18130 +#: commands/tablecmds.c:18176 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe." -#: commands/tablecmds.c:18447 +#: commands/tablecmds.c:18493 #, 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:18556 +#: commands/tablecmds.c:18602 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:18562 +#: commands/tablecmds.c:18608 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "Partition »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:19077 commands/tablecmds.c:19097 -#: commands/tablecmds.c:19118 commands/tablecmds.c:19137 -#: commands/tablecmds.c:19179 +#: commands/tablecmds.c:19132 commands/tablecmds.c:19152 +#: commands/tablecmds.c:19173 commands/tablecmds.c:19192 +#: commands/tablecmds.c:19234 #, 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:19080 +#: commands/tablecmds.c:19135 #, 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:19100 +#: commands/tablecmds.c:19155 #, 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:19121 +#: commands/tablecmds.c:19176 #, c-format msgid "The index definitions do not match." msgstr "Die Indexdefinitionen stimmen nicht überein." -#: commands/tablecmds.c:19140 +#: commands/tablecmds.c:19195 #, 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:19182 +#: commands/tablecmds.c:19237 #, 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:19418 +#: commands/tablecmds.c:19473 #, c-format msgid "column data type %s does not support compression" msgstr "Spaltendatentyp %s unterstützt keine Komprimierung" -#: commands/tablecmds.c:19425 +#: commands/tablecmds.c:19480 #, c-format msgid "invalid compression method \"%s\"" msgstr "ungültige Komprimierungsmethode »%s«" -#: commands/tablecmds.c:19451 +#: commands/tablecmds.c:19506 #, c-format msgid "invalid storage type \"%s\"" msgstr "ungültiger Storage-Typ »%s«" -#: commands/tablecmds.c:19461 +#: commands/tablecmds.c:19516 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN" @@ -11813,46 +11818,46 @@ 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:3347 executor/nodeModifyTable.c:2369 -#: executor/nodeModifyTable.c:2452 +#: commands/trigger.c:3347 executor/nodeModifyTable.c:2378 +#: executor/nodeModifyTable.c:2461 #, 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: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:3348 executor/nodeModifyTable.c:1543 +#: executor/nodeModifyTable.c:1617 executor/nodeModifyTable.c:2379 +#: executor/nodeModifyTable.c:2462 executor/nodeModifyTable.c:2999 +#: executor/nodeModifyTable.c:3126 #, 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: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 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:316 +#: executor/nodeModifyTable.c:1559 executor/nodeModifyTable.c:2396 +#: executor/nodeModifyTable.c:2604 #, c-format msgid "could not serialize access due to concurrent update" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung" -#: commands/trigger.c:3397 executor/nodeModifyTable.c:1641 -#: executor/nodeModifyTable.c:2470 executor/nodeModifyTable.c:2619 -#: executor/nodeModifyTable.c:3008 +#: commands/trigger.c:3397 executor/nodeModifyTable.c:1649 +#: executor/nodeModifyTable.c:2479 executor/nodeModifyTable.c:2628 +#: executor/nodeModifyTable.c:3017 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen" -#: commands/trigger.c:4604 +#: commands/trigger.c:4608 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "aufgeschobener Trigger kann nicht in einer sicherheitsbeschränkten Operation ausgelöst werden" -#: commands/trigger.c:5787 +#: commands/trigger.c:5789 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "Constraint »%s« ist nicht aufschiebbar" -#: commands/trigger.c:5810 +#: commands/trigger.c:5812 #, c-format msgid "constraint \"%s\" does not exist" msgstr "Constraint »%s« existiert nicht" @@ -12995,25 +13000,25 @@ msgstr "kein Wert für Parameter %d gefunden" #: 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/execExprInterp.c:4350 executor/nodeModifyTable.c:205 +#: executor/nodeModifyTable.c:216 executor/nodeModifyTable.c:233 +#: executor/nodeModifyTable.c:241 #, 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:638 executor/nodeModifyTable.c:198 +#: executor/execExpr.c:638 executor/nodeModifyTable.c:206 #, c-format msgid "Query has too many columns." msgstr "Anfrage hat zu viele Spalten." -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:645 executor/nodeModifyTable.c:234 #, 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:651 executor/execExprInterp.c:4252 -#: executor/nodeModifyTable.c:209 +#: executor/nodeModifyTable.c:217 #, 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." @@ -13041,7 +13046,7 @@ 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:2601 executor/execSRF.c:739 executor/functions.c:1067 +#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1068 #: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" @@ -13098,8 +13103,8 @@ msgstr "Arrayelement mit Typ %s kann nicht in ARRAY-Konstrukt mit Elementtyp %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 +#: utils/adt/arrayfuncs.c:3539 utils/adt/arrayfuncs.c:5623 +#: utils/adt/arrayfuncs.c:6140 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" @@ -13114,11 +13119,11 @@ msgstr "mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dim #: 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 +#: utils/adt/arrayfuncs.c:2931 utils/adt/arrayfuncs.c:2985 +#: utils/adt/arrayfuncs.c:3000 utils/adt/arrayfuncs.c:3341 +#: utils/adt/arrayfuncs.c:3569 utils/adt/arrayfuncs.c:6232 +#: utils/adt/arrayfuncs.c:6573 utils/adt/arrayutils.c:98 +#: utils/adt/arrayutils.c:107 utils/adt/arrayutils.c:114 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)" @@ -13195,38 +13200,38 @@ msgstr "kann Sequenz »%s« nicht ändern" msgid "cannot change TOAST relation \"%s\"" msgstr "kann TOAST-Relation »%s« nicht ändern" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 -#: rewrite/rewriteHandler.c:3966 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3083 +#: rewrite/rewriteHandler.c:3973 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kann nicht in Sicht »%s« einfügen" -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 -#: rewrite/rewriteHandler.c:3969 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3086 +#: rewrite/rewriteHandler.c:3976 #, 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." -#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 -#: rewrite/rewriteHandler.c:3974 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3091 +#: rewrite/rewriteHandler.c:3981 #, c-format msgid "cannot update view \"%s\"" msgstr "kann Sicht »%s« nicht aktualisieren" -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 -#: rewrite/rewriteHandler.c:3977 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3094 +#: rewrite/rewriteHandler.c:3984 #, 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." -#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 -#: rewrite/rewriteHandler.c:3982 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3099 +#: rewrite/rewriteHandler.c:3989 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kann nicht aus Sicht »%s« löschen" -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 -#: rewrite/rewriteHandler.c:3985 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3102 +#: rewrite/rewriteHandler.c:3992 #, 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." @@ -13385,8 +13390,8 @@ msgstr "gleichzeitiges Löschen, versuche erneut" #: 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/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3888 +#: utils/adt/arrayfuncs.c:4443 utils/adt/arrayfuncs.c:6453 #: utils/adt/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" @@ -13500,76 +13505,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:1742 executor/spi.c:2635 +#: executor/functions.c:527 executor/spi.c:1742 executor/spi.c:2648 #, 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:1710 executor/functions.c:1748 -#: executor/functions.c:1762 executor/functions.c:1857 -#: executor/functions.c:1890 executor/functions.c:1904 +#: executor/functions.c:1711 executor/functions.c:1749 +#: executor/functions.c:1763 executor/functions.c:1858 +#: executor/functions.c:1891 executor/functions.c:1905 #, 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:1712 +#: executor/functions.c:1713 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." msgstr "Die letzte Anweisung der Funktion muss ein SELECT oder INSERT/UPDATE/DELETE RETURNING sein." -#: executor/functions.c:1750 +#: executor/functions.c:1751 #, c-format msgid "Final statement must return exactly one column." msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben." -#: executor/functions.c:1764 +#: executor/functions.c:1765 #, c-format msgid "Actual return type is %s." msgstr "Eigentlicher Rückgabetyp ist %s." -#: executor/functions.c:1859 +#: executor/functions.c:1860 #, c-format msgid "Final statement returns too many columns." msgstr "Die letzte Anweisung gibt zu viele Spalten zurück." -#: executor/functions.c:1892 +#: executor/functions.c:1893 #, 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:1906 +#: executor/functions.c:1907 #, c-format msgid "Final statement returns too few columns." msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück." -#: executor/functions.c:1934 +#: executor/functions.c:1935 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt" @@ -13589,7 +13594,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:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1144 executor/nodeHashjoin.c:1174 #, 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" @@ -13609,74 +13614,74 @@ msgstr "OFFSET darf nicht negativ sein" msgid "LIMIT must not be negative" msgstr "LIMIT darf nicht negativ sein" -#: executor/nodeMergejoin.c:1579 +#: executor/nodeMergejoin.c:1580 #, 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:1597 +#: executor/nodeMergejoin.c:1598 #, 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:234 +#: executor/nodeModifyTable.c:242 #, c-format msgid "Query has too few columns." msgstr "Anfrage hat zu wenige Spalten." -#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608 +#: executor/nodeModifyTable.c:1542 executor/nodeModifyTable.c:1616 #, 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:1763 +#: executor/nodeModifyTable.c:1771 #, c-format msgid "invalid ON UPDATE specification" msgstr "ungültige ON-UPDATE-Angabe" -#: executor/nodeModifyTable.c:1764 +#: executor/nodeModifyTable.c:1772 #, 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:2223 +#: executor/nodeModifyTable.c:2231 #, 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:2224 +#: executor/nodeModifyTable.c:2232 #, 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:2227 +#: executor/nodeModifyTable.c:2235 #, 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:2573 executor/nodeModifyTable.c:2996 -#: executor/nodeModifyTable.c:3123 +#: executor/nodeModifyTable.c:2582 executor/nodeModifyTable.c:3005 +#: executor/nodeModifyTable.c:3132 #, 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:2575 +#: executor/nodeModifyTable.c:2584 #, 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:2989 executor/nodeModifyTable.c:3116 +#: executor/nodeModifyTable.c:2998 executor/nodeModifyTable.c:3125 #, 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:2998 executor/nodeModifyTable.c:3125 +#: executor/nodeModifyTable.c:3007 executor/nodeModifyTable.c:3134 #, 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:3080 +#: executor/nodeModifyTable.c:3089 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "das zu löschende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben" @@ -13803,28 +13808,28 @@ msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt" msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbare Cursor müssen READ ONLY sein." -#: executor/spi.c:2474 +#: executor/spi.c:2487 #, 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:2548 +#: executor/spi.c:2561 #, c-format msgid "%s query does not return tuples" msgstr "%s-Anfrage gibt keine Tupel zurück" -#: executor/spi.c:2963 +#: executor/spi.c:2975 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-Ausdruck »%s«" -#: executor/spi.c:2968 +#: executor/spi.c:2980 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL-Zuweisung »%s«" -#: executor/spi.c:2971 +#: executor/spi.c:2983 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-Anweisung »%s«" @@ -13968,7 +13973,7 @@ msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt" msgid "duplicate trigger events specified" msgstr "mehrere Trigger-Ereignisse angegeben" -#: gram.y:5990 parser/parse_utilcmd.c:3704 parser/parse_utilcmd.c:3730 +#: gram.y:5990 parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3720 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein" @@ -14306,7 +14311,7 @@ msgstr "ungültige hexadezimale Zeichensequenz" msgid "unexpected end after backslash" msgstr "unerwartetes Ende nach Backslash" -#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:742 msgid "unterminated quoted string" msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen" @@ -14318,8 +14323,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: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 "Müll folgt auf numerische Konstante" @@ -15259,166 +15264,166 @@ 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:285 +#: libpq/be-secure-openssl.c:297 #, 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:305 +#: libpq/be-secure-openssl.c:317 #, 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:354 +#: libpq/be-secure-openssl.c:366 #, 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:362 +#: libpq/be-secure-openssl.c:374 #, 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:370 +#: libpq/be-secure-openssl.c:382 #, 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:428 +#: libpq/be-secure-openssl.c:440 #, 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:439 +#: libpq/be-secure-openssl.c:451 #, c-format msgid "could not initialize SSL connection: %s" msgstr "konnte SSL-Verbindung nicht initialisieren: %s" -#: libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:459 #, c-format msgid "could not set SSL socket: %s" msgstr "konnte SSL-Socket nicht setzen: %s" -#: libpq/be-secure-openssl.c:503 +#: libpq/be-secure-openssl.c:515 #, c-format msgid "could not accept SSL connection: %m" msgstr "konnte SSL-Verbindung nicht annehmen: %m" -#: libpq/be-secure-openssl.c:507 libpq/be-secure-openssl.c:562 +#: libpq/be-secure-openssl.c:519 libpq/be-secure-openssl.c:574 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt" -#: libpq/be-secure-openssl.c:546 +#: libpq/be-secure-openssl.c:558 #, c-format msgid "could not accept SSL connection: %s" msgstr "konnte SSL-Verbindung nicht annehmen: %s" -#: libpq/be-secure-openssl.c:550 +#: libpq/be-secure-openssl.c:562 #, 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:567 libpq/be-secure-openssl.c:756 -#: libpq/be-secure-openssl.c:826 +#: libpq/be-secure-openssl.c:579 libpq/be-secure-openssl.c:768 +#: libpq/be-secure-openssl.c:838 #, c-format msgid "unrecognized SSL error code: %d" msgstr "unbekannter SSL-Fehlercode: %d" -#: libpq/be-secure-openssl.c:613 +#: libpq/be-secure-openssl.c:625 #, 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:659 +#: libpq/be-secure-openssl.c:671 #, 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:745 libpq/be-secure-openssl.c:810 +#: libpq/be-secure-openssl.c:757 libpq/be-secure-openssl.c:822 #, c-format msgid "SSL error: %s" msgstr "SSL-Fehler: %s" -#: libpq/be-secure-openssl.c:987 +#: libpq/be-secure-openssl.c:999 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m" -#: libpq/be-secure-openssl.c:999 +#: libpq/be-secure-openssl.c:1011 #, c-format msgid "could not load DH parameters file: %s" msgstr "konnte DH-Parameterdatei nicht laden: %s" -#: libpq/be-secure-openssl.c:1009 +#: libpq/be-secure-openssl.c:1021 #, c-format msgid "invalid DH parameters: %s" msgstr "ungültige DH-Parameter: %s" -#: libpq/be-secure-openssl.c:1018 +#: libpq/be-secure-openssl.c:1030 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "ungültige DH-Parameter: p ist keine Primzahl" -#: libpq/be-secure-openssl.c:1027 +#: libpq/be-secure-openssl.c:1039 #, 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:1163 +#: libpq/be-secure-openssl.c:1175 #, 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:1200 +#: libpq/be-secure-openssl.c:1212 #, 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:1201 +#: libpq/be-secure-openssl.c:1213 msgid "unknown" msgstr "unbekannt" -#: libpq/be-secure-openssl.c:1292 +#: libpq/be-secure-openssl.c:1304 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: konnte DH-Parameter nicht laden" -#: libpq/be-secure-openssl.c:1300 +#: libpq/be-secure-openssl.c:1312 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: konnte DH-Parameter nicht setzen: %s" -#: libpq/be-secure-openssl.c:1327 +#: libpq/be-secure-openssl.c:1339 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: unbekannter Kurvenname: %s" -#: libpq/be-secure-openssl.c:1336 +#: libpq/be-secure-openssl.c:1348 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: konnte Schlüssel nicht erzeugen" -#: libpq/be-secure-openssl.c:1364 +#: libpq/be-secure-openssl.c:1376 msgid "no SSL error reported" msgstr "kein SSL-Fehler berichtet" -#: libpq/be-secure-openssl.c:1381 +#: libpq/be-secure-openssl.c:1394 #, c-format msgid "SSL error code %lu" msgstr "SSL-Fehlercode %lu" -#: libpq/be-secure-openssl.c:1540 +#: libpq/be-secure-openssl.c:1553 #, c-format msgid "could not create BIO" msgstr "konnte BIO nicht erzeugen" -#: libpq/be-secure-openssl.c:1550 +#: libpq/be-secure-openssl.c:1563 #, 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:1558 +#: libpq/be-secure-openssl.c:1571 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln" @@ -16415,22 +16420,22 @@ msgstr "SQL-Funktion »%s« beim Inlining" 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:726 +#: optimizer/util/plancat.c:728 #, 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:743 +#: optimizer/util/plancat.c:745 #, 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:793 +#: optimizer/util/plancat.c:795 #, 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:898 +#: optimizer/util/plancat.c:905 #, 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" @@ -17573,27 +17578,27 @@ 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:926 +#: parser/parse_cte.c:917 #, 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:932 +#: parser/parse_cte.c:923 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET in einer rekursiven Anfrage ist nicht implementiert" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:929 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT in einer rekursiven Anfrage ist nicht implementiert" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:935 #, 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:1001 +#: parser/parse_cte.c:1014 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "rekursiver Verweis auf Anfrage »%s« darf nicht mehrmals erscheinen" @@ -17729,7 +17734,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:1851 parser/parse_expr.c:3628 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3626 #, c-format msgid "subquery must return only one column" msgstr "Unteranfrage darf nur eine Spalte zurückgeben" @@ -17864,17 +17869,17 @@ msgstr "Nur die JSON-Kodierung UTF8 wird unterstützt." 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:3712 parser/parse_func.c:865 +#: parser/parse_expr.c:3710 parser/parse_func.c:865 #, 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:3934 +#: parser/parse_expr.c:3933 #, 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:3954 +#: parser/parse_expr.c:3953 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "Typ %s kann nicht im IS-JSON-Prädikat verwendet werden" @@ -18567,325 +18572,325 @@ msgstr "Typmodifikatoren müssen einfache Konstanten oder Bezeichner sein" msgid "invalid type name \"%s\"" msgstr "ungültiger Typname: »%s«" -#: parser/parse_utilcmd.c:264 +#: 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:589 +#: parser/parse_utilcmd.c:583 #, c-format msgid "array of serial is not implemented" msgstr "Array aus Typ serial ist nicht implementiert" -#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 -#: parser/parse_utilcmd.c:739 +#: parser/parse_utilcmd.c:662 parser/parse_utilcmd.c:674 +#: parser/parse_utilcmd.c:733 #, 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:692 +#: parser/parse_utilcmd.c:686 #, 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:709 +#: parser/parse_utilcmd.c:703 #, 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:713 +#: parser/parse_utilcmd.c:707 #, c-format msgid "identity columns are not supported on partitions" msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:722 +#: parser/parse_utilcmd.c:716 #, 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:752 +#: parser/parse_utilcmd.c:746 #, 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:756 +#: parser/parse_utilcmd.c:750 #, 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:774 parser/parse_utilcmd.c:889 +#: parser/parse_utilcmd.c:768 parser/parse_utilcmd.c:883 #, 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:783 parser/parse_utilcmd.c:899 +#: parser/parse_utilcmd.c:777 parser/parse_utilcmd.c:893 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:828 +#: parser/parse_utilcmd.c:822 #, 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:836 +#: parser/parse_utilcmd.c:830 #, 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:844 +#: parser/parse_utilcmd.c:838 #, 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:909 +#: parser/parse_utilcmd.c:903 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:915 +#: parser/parse_utilcmd.c:909 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "Exclusion-Constraints auf partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:980 +#: parser/parse_utilcmd.c:974 #, 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:993 +#: parser/parse_utilcmd.c:987 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "Relation »%s« ist ungültig in der LIKE-Klausel" -#: parser/parse_utilcmd.c:1750 parser/parse_utilcmd.c:1858 +#: parser/parse_utilcmd.c:1746 parser/parse_utilcmd.c:1854 #, 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:2245 +#: parser/parse_utilcmd.c:2252 #, 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:2265 +#: parser/parse_utilcmd.c:2272 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "Index »%s« gehört bereits zu einem Constraint" -#: parser/parse_utilcmd.c:2286 +#: parser/parse_utilcmd.c:2293 #, c-format msgid "\"%s\" is not a unique index" msgstr "»%s« ist kein Unique Index" -#: parser/parse_utilcmd.c:2287 parser/parse_utilcmd.c:2294 -#: parser/parse_utilcmd.c:2301 parser/parse_utilcmd.c:2378 +#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 +#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 #, 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:2293 +#: parser/parse_utilcmd.c:2300 #, c-format msgid "index \"%s\" contains expressions" msgstr "Index »%s« enthält Ausdrücke" -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2307 #, c-format msgid "\"%s\" is a partial index" msgstr "»%s« ist ein partieller Index" -#: parser/parse_utilcmd.c:2312 +#: parser/parse_utilcmd.c:2319 #, c-format msgid "\"%s\" is a deferrable index" msgstr "»%s« ist ein aufschiebbarer Index" -#: parser/parse_utilcmd.c:2313 +#: parser/parse_utilcmd.c:2320 #, 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:2377 +#: parser/parse_utilcmd.c:2384 #, 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:2534 +#: parser/parse_utilcmd.c:2541 #, 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:2540 +#: parser/parse_utilcmd.c:2547 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint" -#: parser/parse_utilcmd.c:2887 +#: parser/parse_utilcmd.c:2881 #, 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:2959 +#: parser/parse_utilcmd.c:2953 #, 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:3002 +#: parser/parse_utilcmd.c:2996 #, c-format msgid "rules on materialized views are not supported" msgstr "Regeln für materialisierte Sichten werden nicht unterstützt" -#: parser/parse_utilcmd.c:3062 +#: parser/parse_utilcmd.c:3056 #, 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:3134 +#: parser/parse_utilcmd.c:3128 #, 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:3152 parser/parse_utilcmd.c:3253 +#: parser/parse_utilcmd.c:3146 parser/parse_utilcmd.c:3247 #: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert" -#: parser/parse_utilcmd.c:3170 +#: parser/parse_utilcmd.c:3164 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON-SELECT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3168 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON-SELECT-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3177 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON-INSERT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3189 +#: parser/parse_utilcmd.c:3183 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON-DELETE-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3217 +#: parser/parse_utilcmd.c:3211 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden" -#: parser/parse_utilcmd.c:3224 +#: parser/parse_utilcmd.c:3218 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden" -#: parser/parse_utilcmd.c:3676 +#: parser/parse_utilcmd.c:3666 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "falsch platzierte DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3681 parser/parse_utilcmd.c:3696 +#: parser/parse_utilcmd.c:3671 parser/parse_utilcmd.c:3686 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3691 +#: parser/parse_utilcmd.c:3681 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "falsch platzierte NOT DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3712 +#: parser/parse_utilcmd.c:3702 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "falsch platzierte INITIALLY DEFERRED-Klausel" -#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: parser/parse_utilcmd.c:3707 parser/parse_utilcmd.c:3733 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3738 +#: parser/parse_utilcmd.c:3728 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel" -#: parser/parse_utilcmd.c:3931 +#: parser/parse_utilcmd.c:3921 #, 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:3966 +#: parser/parse_utilcmd.c:3956 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "»%s« ist keine partitionierte Tabelle" -#: parser/parse_utilcmd.c:3973 +#: parser/parse_utilcmd.c:3963 #, c-format msgid "table \"%s\" is not partitioned" msgstr "Tabelle »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:3980 +#: parser/parse_utilcmd.c:3970 #, c-format msgid "index \"%s\" is not partitioned" msgstr "Index »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:4020 +#: parser/parse_utilcmd.c:4010 #, 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:4037 +#: parser/parse_utilcmd.c:4027 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ungültige Begrenzungsangabe für eine Hash-Partition" -#: parser/parse_utilcmd.c:4043 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4033 partitioning/partbounds.c:4803 #, 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:4050 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4040 partitioning/partbounds.c:4811 #, 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:4063 +#: parser/parse_utilcmd.c:4053 #, c-format msgid "invalid bound specification for a list partition" msgstr "ungültige Begrenzungsangabe für eine Listenpartition" -#: parser/parse_utilcmd.c:4116 +#: parser/parse_utilcmd.c:4106 #, c-format msgid "invalid bound specification for a range partition" msgstr "ungültige Begrenzungsangabe für eine Bereichspartition" -#: parser/parse_utilcmd.c:4122 +#: parser/parse_utilcmd.c:4112 #, 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:4126 +#: parser/parse_utilcmd.c:4116 #, 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:4240 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden" -#: parser/parse_utilcmd.c:4289 +#: parser/parse_utilcmd.c:4279 #, 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:4296 +#: parser/parse_utilcmd.c:4286 #, 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:4339 +#: parser/parse_utilcmd.c:4329 #, 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" @@ -18898,12 +18903,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:1390 +#: parser/parser.c:347 scan.l:1391 #, c-format msgid "invalid Unicode escape value" msgstr "ungültiger Unicode-Escape-Wert" -#: parser/parser.c:494 scan.l:701 utils/adt/varlena.c:6505 +#: parser/parser.c:494 scan.l:702 utils/adt/varlena.c:6505 #, c-format msgid "invalid Unicode escape" msgstr "ungültiges Unicode-Escape" @@ -18913,7 +18918,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:662 scan.l:678 scan.l:694 +#: parser/parser.c:523 scan.l:663 scan.l:679 scan.l:695 #: utils/adt/varlena.c:6530 #, c-format msgid "invalid Unicode surrogate pair" @@ -20235,9 +20240,9 @@ msgid "out of logical replication worker slots" msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt" #: 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 +#: replication/slot.c:1297 storage/lmgr/lock.c:998 storage/lmgr/lock.c:1036 +#: storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4206 storage/lmgr/lock.c:4271 +#: storage/lmgr/lock.c:4621 storage/lmgr/predicate.c:2413 #: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 #, c-format msgid "You might need to increase %s." @@ -20268,70 +20273,70 @@ 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:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:366 replication/logical/logical.c:520 #, 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:368 replication/logical/logical.c:522 +#: replication/logical/logical.c:371 replication/logical/logical.c:525 #, 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:375 +#: replication/logical/logical.c:378 #, 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:534 replication/logical/logical.c:541 +#: replication/logical/logical.c:537 replication/logical/logical.c:544 #, 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:536 +#: replication/logical/logical.c:539 #, 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:543 +#: replication/logical/logical.c:546 #, 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:608 +#: replication/logical/logical.c:611 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "starte logisches Dekodieren für Slot »%s«" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:613 #, 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:758 +#: replication/logical/logical.c:761 #, 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:764 +#: replication/logical/logical.c:767 #, 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:935 replication/logical/logical.c:980 -#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 +#: replication/logical/logical.c:938 replication/logical/logical.c:983 +#: replication/logical/logical.c:1028 replication/logical/logical.c:1074 #, 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: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:1306 replication/logical/logical.c:1355 +#: replication/logical/logical.c:1396 replication/logical/logical.c:1482 +#: replication/logical/logical.c:1531 #, c-format msgid "logical streaming requires a %s callback" msgstr "logisches Streaming benötigt einen %s-Callback" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1441 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "logisches Streaming bei PREPARE TRANSACTION benötigt einen %s-Callback" @@ -20520,58 +20525,58 @@ 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:1388 replication/logical/snapbuild.c:1480 -#: replication/logical/snapbuild.c:1996 +#: replication/logical/snapbuild.c:1392 replication/logical/snapbuild.c:1489 +#: replication/logical/snapbuild.c:2005 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1394 #, c-format msgid "There are no running transactions." msgstr "Keine laufenden Transaktionen." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1441 #, 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:1434 replication/logical/snapbuild.c:1458 +#: replication/logical/snapbuild.c:1443 replication/logical/snapbuild.c:1467 #, 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:1456 +#: replication/logical/snapbuild.c:1465 #, 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:1482 +#: replication/logical/snapbuild.c:1491 #, c-format msgid "There are no old transactions anymore." msgstr "Es laufen keine alten Transaktionen mehr." -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1892 #, 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:1889 +#: replication/logical/snapbuild.c:1898 #, 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:1930 +#: replication/logical/snapbuild.c:1939 #, 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:1998 +#: replication/logical/snapbuild.c:2007 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot." -#: replication/logical/snapbuild.c:2105 +#: replication/logical/snapbuild.c:2114 #, c-format msgid "could not parse file name \"%s\"" msgstr "konnte Dateinamen »%s« nicht parsen" @@ -21477,7 +21482,7 @@ msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden" msgid "multiple assignments to same column \"%s\"" msgstr "mehrere Zuweisungen zur selben Spalte »%s«" -#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4047 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«" @@ -21552,83 +21557,83 @@ msgstr "Sichten, die TABLESAMPLE enthalten, sind nicht automatisch aktualisierba 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:3155 +#: rewrite/rewriteHandler.c:3168 #, 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:3163 +#: rewrite/rewriteHandler.c:3176 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3667 +#: rewrite/rewriteHandler.c:3674 #, 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:3678 +#: rewrite/rewriteHandler.c:3685 #, 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:3692 +#: rewrite/rewriteHandler.c:3699 #, 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:3696 +#: rewrite/rewriteHandler.c:3703 #, 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:3701 +#: rewrite/rewriteHandler.c:3708 #, 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:3968 rewrite/rewriteHandler.c:3976 -#: rewrite/rewriteHandler.c:3984 +#: rewrite/rewriteHandler.c:3975 rewrite/rewriteHandler.c:3983 +#: rewrite/rewriteHandler.c:3991 #, c-format 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:4089 +#: rewrite/rewriteHandler.c:4096 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4091 +#: rewrite/rewriteHandler.c:4098 #, 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:4096 +#: rewrite/rewriteHandler.c:4103 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4098 +#: rewrite/rewriteHandler.c:4105 #, 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:4103 +#: rewrite/rewriteHandler.c:4110 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4105 +#: rewrite/rewriteHandler.c:4112 #, 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:4123 +#: rewrite/rewriteHandler.c:4130 #, 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:4180 +#: rewrite/rewriteHandler.c:4187 #, 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" @@ -21653,117 +21658,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:482 +#: scan.l:483 msgid "unterminated /* comment" msgstr "/*-Kommentar nicht abgeschlossen" -#: scan.l:502 +#: scan.l:503 msgid "unterminated bit string literal" msgstr "Bitkettenkonstante nicht abgeschlossen" -#: scan.l:516 +#: scan.l:517 msgid "unterminated hexadecimal string literal" msgstr "hexadezimale Zeichenkette nicht abgeschlossen" -#: scan.l:566 +#: scan.l:567 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "unsichere Verwendung von Zeichenkette mit Unicode-Escapes" -#: scan.l:567 +#: scan.l:568 #, 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:628 +#: scan.l:629 msgid "unhandled previous state in xqs" msgstr "unbehandelter vorheriger Zustand in xqs" -#: scan.l:702 +#: scan.l:703 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Unicode-Escapes müssen \\uXXXX oder \\UXXXXXXXX sein." -#: scan.l:713 +#: scan.l:714 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "unsichere Verwendung von \\' in Zeichenkettenkonstante" -#: scan.l:714 +#: scan.l:715 #, 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:786 +#: scan.l:787 msgid "unterminated dollar-quoted string" msgstr "Dollar-Quotes nicht abgeschlossen" -#: scan.l:803 scan.l:813 +#: scan.l:804 scan.l:814 msgid "zero-length delimited identifier" msgstr "Bezeichner in Anführungszeichen hat Länge null" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:825 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "Bezeichner in Anführungszeichen nicht abgeschlossen" -#: scan.l:987 +#: scan.l:988 msgid "operator too long" msgstr "Operator zu lang" -#: scan.l:1000 +#: scan.l:1001 msgid "trailing junk after parameter" msgstr "Müll folgt auf Parameter" -#: scan.l:1021 +#: scan.l:1022 msgid "invalid hexadecimal integer" msgstr "ungültige hexadezimale Zahl" -#: scan.l:1025 +#: scan.l:1026 msgid "invalid octal integer" msgstr "ungültige oktale Zahl" -#: scan.l:1029 +#: scan.l:1030 msgid "invalid binary integer" msgstr "ungültige binäre Zahl" #. 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 am Ende der Eingabe" #. 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 bei »%s«" -#: scan.l:1434 +#: scan.l:1435 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "nicht standardkonforme Verwendung von \\' in Zeichenkettenkonstante" -#: scan.l:1435 +#: scan.l:1436 #, 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:1444 +#: scan.l:1445 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "nicht standardkonforme Verwendung von \\\\ in Zeichenkettenkonstante" -#: scan.l:1445 +#: scan.l:1446 #, 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:1459 +#: scan.l:1460 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "nicht standardkonforme Verwendung von Escape in Zeichenkettenkonstante" -#: scan.l:1460 +#: scan.l:1461 #, 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'." @@ -22110,23 +22115,23 @@ msgstr "konnte Shared-Memory-Segment »%s« nicht schließen: %m" msgid "could not duplicate handle for \"%s\": %m" msgstr "konnte Handle für »%s« nicht duplizieren: %m" -#: storage/ipc/procarray.c:3795 +#: storage/ipc/procarray.c:3807 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "Datenbank »%s« wird von vorbereiteten Transaktionen verwendet" -#: storage/ipc/procarray.c:3827 storage/ipc/procarray.c:3836 +#: storage/ipc/procarray.c:3843 storage/ipc/procarray.c:3851 #: 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:3828 storage/ipc/signalfuncs.c:236 +#: storage/ipc/procarray.c:3844 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:3837 storage/ipc/signalfuncs.c:243 +#: storage/ipc/procarray.c:3852 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." @@ -22146,9 +22151,9 @@ 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: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/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:997 +#: storage/lmgr/lock.c:1035 storage/lmgr/lock.c:2820 storage/lmgr/lock.c:4205 +#: storage/lmgr/lock.c:4270 storage/lmgr/lock.c:4620 #: 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 @@ -22332,122 +22337,122 @@ msgstr "Verklemmung (Deadlock) entdeckt" msgid "See server log for query details." msgstr "Einzelheiten zur Anfrage finden Sie im Serverlog." -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:853 #, 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:862 +#: storage/lmgr/lmgr.c:856 #, 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:865 +#: storage/lmgr/lmgr.c:859 #, 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:868 +#: storage/lmgr/lmgr.c:862 #, 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:871 +#: storage/lmgr/lmgr.c:865 #, 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:874 +#: storage/lmgr/lmgr.c:868 #, 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:877 +#: storage/lmgr/lmgr.c:871 #, 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:880 +#: storage/lmgr/lmgr.c:874 #, 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:1212 +#: storage/lmgr/lmgr.c:1206 #, c-format msgid "relation %u of database %u" msgstr "Relation %u der Datenbank %u" -#: storage/lmgr/lmgr.c:1218 +#: storage/lmgr/lmgr.c:1212 #, c-format msgid "extension of relation %u of database %u" msgstr "Erweiterung von Relation %u in Datenbank %u" -#: storage/lmgr/lmgr.c:1224 +#: storage/lmgr/lmgr.c:1218 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid der Datenbank %u" -#: storage/lmgr/lmgr.c:1229 +#: storage/lmgr/lmgr.c:1223 #, c-format msgid "page %u of relation %u of database %u" msgstr "Seite %u von Relation %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1236 +#: storage/lmgr/lmgr.c:1230 #, 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:1244 +#: storage/lmgr/lmgr.c:1238 #, c-format msgid "transaction %u" msgstr "Transaktion %u" -#: storage/lmgr/lmgr.c:1249 +#: storage/lmgr/lmgr.c:1243 #, c-format msgid "virtual transaction %d/%u" msgstr "virtuelle Transaktion %d/%u" -#: storage/lmgr/lmgr.c:1255 +#: storage/lmgr/lmgr.c:1249 #, c-format msgid "speculative token %u of transaction %u" msgstr "spekulatives Token %u von Transaktion %u" -#: storage/lmgr/lmgr.c:1261 +#: storage/lmgr/lmgr.c:1255 #, c-format msgid "object %u of class %u of database %u" msgstr "Objekt %u von Klasse %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1269 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "user lock [%u,%u,%u]" msgstr "Benutzersperre [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1276 +#: storage/lmgr/lmgr.c:1270 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "Benutzersperre [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1284 +#: storage/lmgr/lmgr.c:1278 #, 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:1291 +#: storage/lmgr/lmgr.c:1285 #, c-format msgid "unrecognized locktag type %d" msgstr "unbekannter Locktag-Typ %d" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:825 #, 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:793 +#: storage/lmgr/lock.c:827 #, 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:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 +#: storage/lmgr/lock.c:3269 storage/lmgr/lock.c:3337 storage/lmgr/lock.c:3453 #, 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" @@ -23459,7 +23464,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:1272 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 +#: utils/adt/int8.c:1272 utils/adt/numeric.c:1916 utils/adt/numeric.c:4403 #: 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 @@ -23500,7 +23505,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:987 utils/adt/array_userfuncs.c:995 -#: utils/adt/arrayfuncs.c:5639 utils/adt/arrayfuncs.c:5645 +#: utils/adt/arrayfuncs.c:5646 utils/adt/arrayfuncs.c:5652 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "Arrays unterschiedlicher Dimensionalität können nicht akkumuliert werden" @@ -23551,8 +23556,8 @@ msgstr "Dimensionswert fehlt." msgid "Missing \"%s\" after array dimensions." msgstr "»%s« fehlt nach Arraydimensionen." -#: utils/adt/arrayfuncs.c:309 utils/adt/arrayfuncs.c:2969 -#: utils/adt/arrayfuncs.c:3014 utils/adt/arrayfuncs.c:3029 +#: utils/adt/arrayfuncs.c:309 utils/adt/arrayfuncs.c:2976 +#: utils/adt/arrayfuncs.c:3021 utils/adt/arrayfuncs.c:3036 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "Obergrenze kann nicht kleiner als Untergrenze sein" @@ -23606,8 +23611,8 @@ msgstr "Mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dim msgid "Junk after closing right brace." msgstr "Müll nach schließender rechter geschweifter Klammer." -#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3528 -#: utils/adt/arrayfuncs.c:6129 +#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3535 +#: utils/adt/arrayfuncs.c:6136 #, c-format msgid "invalid number of dimensions: %d" msgstr "ungültige Anzahl Dimensionen: %d" @@ -23646,8 +23651,8 @@ msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implement #: 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/arrayfuncs.c:2951 utils/adt/arrayfuncs.c:6122 +#: utils/adt/arrayfuncs.c:6148 utils/adt/arrayfuncs.c:6159 #: 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 @@ -23656,7 +23661,7 @@ msgid "wrong number of array subscripts" msgstr "falsche Anzahl Arrayindizes" #: utils/adt/arrayfuncs.c:2286 utils/adt/arrayfuncs.c:2410 -#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3019 +#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3026 #, c-format msgid "array subscript out of range" msgstr "Arrayindex außerhalb des gültigen Bereichs" @@ -23681,85 +23686,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:2934 utils/adt/arrayfuncs.c:3046 +#: utils/adt/arrayfuncs.c:2941 utils/adt/arrayfuncs.c:3053 #, c-format msgid "source array too small" msgstr "Quellarray ist zu klein" -#: utils/adt/arrayfuncs.c:3686 +#: utils/adt/arrayfuncs.c:3693 #, 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:3857 utils/adt/arrayfuncs.c:4028 -#: utils/adt/arrayfuncs.c:4419 +#: utils/adt/arrayfuncs.c:3864 utils/adt/arrayfuncs.c:4035 +#: utils/adt/arrayfuncs.c:4426 #, c-format msgid "cannot compare arrays of different element types" msgstr "kann Arrays mit verschiedenen Elementtypen nicht vergleichen" -#: utils/adt/arrayfuncs.c:4206 utils/adt/multirangetypes.c:2806 +#: utils/adt/arrayfuncs.c:4213 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 #, 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:4334 utils/adt/rowtypes.c:2006 +#: utils/adt/arrayfuncs.c:4341 utils/adt/rowtypes.c:2006 #, 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:5529 +#: utils/adt/arrayfuncs.c:5536 #, c-format msgid "data type %s is not an array type" msgstr "Datentyp %s ist kein Array-Typ" -#: utils/adt/arrayfuncs.c:5584 +#: utils/adt/arrayfuncs.c:5591 #, c-format msgid "cannot accumulate null arrays" msgstr "Arrays, die NULL sind, können nicht akkumuliert werden" -#: utils/adt/arrayfuncs.c:5612 +#: utils/adt/arrayfuncs.c:5619 #, c-format msgid "cannot accumulate empty arrays" msgstr "leere Arrays können nicht akkumuliert werden" -#: utils/adt/arrayfuncs.c:6013 utils/adt/arrayfuncs.c:6053 +#: utils/adt/arrayfuncs.c:6020 utils/adt/arrayfuncs.c:6060 #, 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:6116 utils/adt/arrayfuncs.c:6142 +#: utils/adt/arrayfuncs.c:6123 utils/adt/arrayfuncs.c:6149 #, c-format msgid "Dimension array must be one dimensional." msgstr "Dimensions-Array muss eindimensional sein." -#: utils/adt/arrayfuncs.c:6121 utils/adt/arrayfuncs.c:6147 +#: utils/adt/arrayfuncs.c:6128 utils/adt/arrayfuncs.c:6154 #, c-format msgid "dimension values cannot be null" msgstr "Dimensionswerte dürfen nicht NULL sein" -#: utils/adt/arrayfuncs.c:6153 +#: utils/adt/arrayfuncs.c:6160 #, 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:6431 +#: utils/adt/arrayfuncs.c:6438 #, 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:6708 +#: utils/adt/arrayfuncs.c:6715 #, c-format msgid "thresholds must be one-dimensional array" msgstr "Parameter »thresholds« muss ein eindimensionales Array sein" -#: utils/adt/arrayfuncs.c:6713 +#: utils/adt/arrayfuncs.c:6720 #, c-format msgid "thresholds array must not contain NULLs" msgstr "»thresholds«-Array darf keine NULL-Werte enthalten" -#: utils/adt/arrayfuncs.c:6946 +#: utils/adt/arrayfuncs.c:6953 #, 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" @@ -23800,7 +23805,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:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017 +#: utils/adt/bool.c:153 utils/adt/cash.c:354 utils/adt/datetime.c:4028 #: 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/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 @@ -23808,8 +23813,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: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/network.c:99 utils/adt/numeric.c:802 utils/adt/numeric.c:7151 +#: utils/adt/numeric.c:7354 utils/adt/numeric.c:8301 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 @@ -23819,29 +23824,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: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 "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: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: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:3190 utils/adt/numeric.c:3213 utils/adt/numeric.c:3298 +#: utils/adt/numeric.c:3316 utils/adt/numeric.c:3412 utils/adt/numeric.c:8850 +#: utils/adt/numeric.c:9163 utils/adt/numeric.c:9511 utils/adt/numeric.c:9627 +#: utils/adt/numeric.c:11138 utils/adt/timestamp.c:3442 #, 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: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 +#, 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" @@ -23876,7 +23885,7 @@ msgid "date out of range: \"%s\"" msgstr "date ist außerhalb des gültigen Bereichs: »%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/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2512 #, c-format msgid "date out of range" msgstr "date ist außerhalb des gültigen Bereichs" @@ -23947,8 +23956,8 @@ msgstr "Einheit »%s« nicht erkannt für Typ %s" #: 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/timestamp.c:5805 utils/adt/timestamp.c:5839 utils/adt/xml.c:2534 +#: utils/adt/xml.c:2541 utils/adt/xml.c:2561 utils/adt/xml.c:2568 #, c-format msgid "timestamp out of range" msgstr "timestamp ist außerhalb des gültigen Bereichs" @@ -23965,7 +23974,7 @@ msgstr "Zeit-Feldwert ist außerhalb des gültigen Bereichs: %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/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2594 #: utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540 #: utils/adt/timestamp.c:3571 #, c-format @@ -23982,33 +23991,33 @@ msgstr "Zeitzonenunterschied ist außerhalb des gültigen Bereichs" msgid "interval time zone \"%s\" must not include months or days" msgstr "Intervall-Zeitzone »%s« darf keine Monate oder Tage enthalten" -#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 -#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 +#: utils/adt/datetime.c:3234 utils/adt/datetime.c:4013 +#: utils/adt/datetime.c:4019 utils/adt/timestamp.c:512 #, c-format msgid "time zone \"%s\" not recognized" msgstr "Zeitzone »%s« nicht erkannt" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:3987 utils/adt/datetime.c:3994 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "Datum/Zeit-Feldwert ist außerhalb des gültigen Bereichs: »%s«" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:3996 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Möglicherweise benötigen Sie eine andere »datestyle«-Einstellung." -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4001 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "»interval«-Feldwert ist außerhalb des gültigen Bereichs: »%s«" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4007 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "Zeitzonenunterschied ist außerhalb des gültigen Bereichs: »%s«" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4021 #, c-format msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"." msgstr "Dieser Zeitzonenname erscheint in der Konfigurationsdatei für Zeitzonenabkürzung »%s«." @@ -24018,17 +24027,17 @@ msgstr "Dieser Zeitzonenname erscheint in der Konfigurationsdatei für Zeitzonen msgid "invalid Datum pointer" msgstr "ungültiger »Datum«-Zeiger" -#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:765 utils/adt/dbsize.c:841 #, c-format msgid "invalid size: \"%s\"" msgstr "ungültige Größe: »%s«" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:842 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Ungültige Größeneinheit: »%s«." -#: utils/adt/dbsize.c:839 +#: utils/adt/dbsize.c:843 #, 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«." @@ -24138,34 +24147,34 @@ msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ double precision" #: utils/adt/float.c:1253 utils/adt/float.c:1327 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:1293 utils/adt/numeric.c:4515 utils/adt/numeric.c:4520 #, c-format msgid "smallint out of range" msgstr "smallint ist außerhalb des gültigen Bereichs" -#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#: utils/adt/float.c:1453 utils/adt/numeric.c:3708 utils/adt/numeric.c:10042 #, c-format msgid "cannot take square root of a negative number" msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden" -#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 +#: utils/adt/float.c:1521 utils/adt/numeric.c:3996 utils/adt/numeric.c:4108 #, c-format msgid "zero raised to a negative power is undefined" msgstr "null hoch eine negative Zahl ist undefiniert" -#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1525 utils/adt/numeric.c:4000 utils/adt/numeric.c:10933 #, 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:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 -#: utils/adt/numeric.c:10698 +#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3908 +#: utils/adt/numeric.c:10713 #, c-format msgid "cannot take logarithm of zero" msgstr "Logarithmus von null kann nicht ermittelt werden" -#: 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:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3846 +#: utils/adt/numeric.c:3903 utils/adt/numeric.c:10717 #, c-format msgid "cannot take logarithm of a negative number" msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden" @@ -24184,22 +24193,22 @@ msgstr "Eingabe ist außerhalb des gültigen Bereichs" msgid "setseed parameter %g is out of allowed range [-1,1]" msgstr "setseed-Parameter %g ist außerhalb des gültigen Bereichs [-1;-1]" -#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 +#: utils/adt/float.c:4095 utils/adt/numeric.c:1856 #, c-format msgid "count must be greater than zero" msgstr "Anzahl muss größer als null sein" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4100 utils/adt/numeric.c:1867 #, 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:4106 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4106 utils/adt/numeric.c:1872 #, c-format msgid "lower and upper bounds must be finite" msgstr "Untergrenze und Obergrenze müssen endlich sein" -#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 +#: utils/adt/float.c:4172 utils/adt/numeric.c:1886 #, c-format msgid "lower bound cannot equal upper bound" msgstr "Untergrenze kann nicht gleich der Obergrenze sein" @@ -24554,7 +24563,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:1419 utils/adt/numeric.c:1749 +#: utils/adt/int.c:1529 utils/adt/int8.c:1419 utils/adt/numeric.c:1764 #: utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971 #, c-format msgid "step size cannot equal zero" @@ -24569,7 +24578,7 @@ msgstr "Schrittgröße kann nicht gleich null sein" #: 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/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4474 #: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 #: utils/adt/varbit.c:1676 #, c-format @@ -25328,107 +25337,107 @@ 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: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:792 utils/adt/numeric.c:3658 utils/adt/numeric.c:7146 +#: utils/adt/numeric.c:7349 utils/adt/numeric.c:7821 utils/adt/numeric.c:10516 +#: utils/adt/numeric.c:10991 utils/adt/numeric.c:11085 +#: utils/adt/numeric.c:11220 #, c-format msgid "value overflows numeric format" msgstr "Wert verursacht Überlauf im »numeric«-Format" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1105 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "ungültiges Vorzeichen in externem »numeric«-Wert" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1111 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "ungültige Skala in externem »numeric«-Wert" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1120 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "ungültige Ziffer in externem »numeric«-Wert" -#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 +#: utils/adt/numeric.c:1335 utils/adt/numeric.c:1349 #, 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:1333 +#: utils/adt/numeric.c:1340 #, 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:1351 +#: utils/adt/numeric.c:1358 #, c-format msgid "invalid NUMERIC type modifier" msgstr "ungültiker Modifikator für Typ NUMERIC" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1724 #, c-format msgid "start value cannot be NaN" msgstr "Startwert kann nicht NaN sein" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1728 #, c-format msgid "start value cannot be infinity" msgstr "Startwert kann nicht unendlich sein" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1735 #, c-format msgid "stop value cannot be NaN" msgstr "Stoppwert kann nicht NaN sein" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1739 #, c-format msgid "stop value cannot be infinity" msgstr "Stoppwert kann nicht unendlich sein" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1752 #, c-format msgid "step size cannot be NaN" msgstr "Schrittgröße kann nicht NaN sein" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1756 #, c-format msgid "step size cannot be infinity" msgstr "Schrittgröße kann nicht unendlich sein" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3648 #, c-format msgid "factorial of a negative number is undefined" msgstr "Fakultät einer negativen Zahl ist undefiniert" -#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 -#: utils/adt/numeric.c:4683 +#: utils/adt/numeric.c:4381 utils/adt/numeric.c:4461 utils/adt/numeric.c:4502 +#: utils/adt/numeric.c:4698 #, c-format msgid "cannot convert NaN to %s" msgstr "kann NaN nicht in %s umwandeln" -#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 -#: utils/adt/numeric.c:4687 +#: utils/adt/numeric.c:4385 utils/adt/numeric.c:4465 utils/adt/numeric.c:4506 +#: utils/adt/numeric.c:4702 #, c-format msgid "cannot convert infinity to %s" msgstr "kann Unendlich nicht in %s umwandeln" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4711 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn ist außerhalb des gültigen Bereichs" -#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#: utils/adt/numeric.c:7911 utils/adt/numeric.c:7962 #, c-format msgid "numeric field overflow" msgstr "Feldüberlauf bei Typ »numeric«" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7912 #, 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:7948 +#: utils/adt/numeric.c:7963 #, 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." @@ -26101,32 +26110,32 @@ msgstr "Abstand im Phrasenoperator muss eine ganze Zahl zwischen einschließlich msgid "no operand in tsquery: \"%s\"" msgstr "kein Operand in tsquery: »%s«" -#: utils/adt/tsquery.c:558 +#: utils/adt/tsquery.c:554 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "Wert ist zu groß in tsquery: »%s«" -#: utils/adt/tsquery.c:563 +#: utils/adt/tsquery.c:559 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "Operator ist zu lang in tsquery: »%s«" -#: utils/adt/tsquery.c:591 +#: utils/adt/tsquery.c:587 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "Wort ist zu lang in 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 "Syntaxfehler in tsquery: »%s«" -#: utils/adt/tsquery.c:883 +#: utils/adt/tsquery.c:879 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "Textsucheanfrage enthält keine Lexeme: »%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 ist zu groß" @@ -26503,96 +26512,96 @@ msgstr "konnte XML-Fehlerbehandlung nicht einrichten" 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:2199 +#: utils/adt/xml.c:2241 msgid "Invalid character value." msgstr "Ungültiger Zeichenwert." -#: utils/adt/xml.c:2202 +#: utils/adt/xml.c:2244 msgid "Space required." msgstr "Leerzeichen benötigt." -#: utils/adt/xml.c:2205 +#: utils/adt/xml.c:2247 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone akzeptiert nur »yes« oder »no«." -#: utils/adt/xml.c:2208 +#: utils/adt/xml.c:2250 msgid "Malformed declaration: missing version." msgstr "Fehlerhafte Deklaration: Version fehlt." -#: utils/adt/xml.c:2211 +#: utils/adt/xml.c:2253 msgid "Missing encoding in text declaration." msgstr "Fehlende Kodierung in Textdeklaration." -#: utils/adt/xml.c:2214 +#: utils/adt/xml.c:2256 msgid "Parsing XML declaration: '?>' expected." msgstr "Beim Parsen der XML-Deklaration: »?>« erwartet." -#: utils/adt/xml.c:2217 +#: utils/adt/xml.c:2259 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Unbekannter Libxml-Fehlercode: %d." -#: utils/adt/xml.c:2471 +#: utils/adt/xml.c:2513 #, c-format msgid "XML does not support infinite date values." msgstr "XML unterstützt keine unendlichen Datumswerte." -#: utils/adt/xml.c:2493 utils/adt/xml.c:2520 +#: utils/adt/xml.c:2535 utils/adt/xml.c:2562 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML unterstützt keine unendlichen timestamp-Werte." -#: utils/adt/xml.c:2936 +#: utils/adt/xml.c:2978 #, c-format msgid "invalid query" msgstr "ungültige Anfrage" -#: utils/adt/xml.c:3028 +#: utils/adt/xml.c:3070 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "Portal »%s« gibt keine Tupel zurück" -#: utils/adt/xml.c:4280 +#: utils/adt/xml.c:4322 #, c-format msgid "invalid array for XML namespace mapping" msgstr "ungültiges Array for XML-Namensraumabbildung" -#: utils/adt/xml.c:4281 +#: utils/adt/xml.c:4323 #, 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:4305 +#: utils/adt/xml.c:4347 #, c-format msgid "empty XPath expression" msgstr "leerer XPath-Ausdruck" -#: utils/adt/xml.c:4357 +#: utils/adt/xml.c:4399 #, c-format msgid "neither namespace name nor URI may be null" msgstr "weder Namensraumname noch URI dürfen NULL sein" -#: utils/adt/xml.c:4364 +#: utils/adt/xml.c:4406 #, 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:4707 +#: utils/adt/xml.c:4749 #, c-format msgid "DEFAULT namespace is not supported" msgstr "DEFAULT-Namensraum wird nicht unterstützt" -#: utils/adt/xml.c:4736 +#: utils/adt/xml.c:4778 #, c-format msgid "row path filter must not be empty string" msgstr "Zeilenpfadfilter darf nicht leer sein" -#: utils/adt/xml.c:4767 +#: utils/adt/xml.c:4809 #, c-format msgid "column path filter must not be empty string" msgstr "Spaltenpfadfilter darf nicht leer sein" -#: utils/adt/xml.c:4911 +#: utils/adt/xml.c:4953 #, 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" @@ -26688,97 +26697,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:2096 +#: utils/error/elog.c:2112 #, 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:2109 +#: utils/error/elog.c:2125 #, 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:2145 +#: utils/error/elog.c:2161 #, c-format msgid "invalid character" msgstr "ungültiges Zeichen" -#: utils/error/elog.c:2851 utils/error/elog.c:2878 utils/error/elog.c:2894 +#: utils/error/elog.c:2867 utils/error/elog.c:2894 utils/error/elog.c:2910 msgid "[unknown]" msgstr "[unbekannt]" -#: utils/error/elog.c:3167 utils/error/elog.c:3488 utils/error/elog.c:3595 +#: utils/error/elog.c:3183 utils/error/elog.c:3504 utils/error/elog.c:3611 msgid "missing error text" msgstr "fehlender Fehlertext" -#: utils/error/elog.c:3170 utils/error/elog.c:3173 +#: utils/error/elog.c:3186 utils/error/elog.c:3189 #, c-format msgid " at character %d" msgstr " bei Zeichen %d" -#: utils/error/elog.c:3183 utils/error/elog.c:3190 +#: utils/error/elog.c:3199 utils/error/elog.c:3206 msgid "DETAIL: " msgstr "DETAIL: " -#: utils/error/elog.c:3197 +#: utils/error/elog.c:3213 msgid "HINT: " msgstr "TIPP: " -#: utils/error/elog.c:3204 +#: utils/error/elog.c:3220 msgid "QUERY: " msgstr "ANFRAGE: " -#: utils/error/elog.c:3211 +#: utils/error/elog.c:3227 msgid "CONTEXT: " msgstr "ZUSAMMENHANG: " -#: utils/error/elog.c:3221 +#: utils/error/elog.c:3237 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ORT: %s, %s:%d\n" -#: utils/error/elog.c:3228 +#: utils/error/elog.c:3244 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ORT: %s:%d\n" -#: utils/error/elog.c:3235 +#: utils/error/elog.c:3251 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3247 +#: utils/error/elog.c:3263 msgid "STATEMENT: " msgstr "ANWEISUNG: " -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3656 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3644 +#: utils/error/elog.c:3660 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3647 +#: utils/error/elog.c:3663 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3666 msgid "NOTICE" msgstr "HINWEIS" -#: utils/error/elog.c:3654 +#: utils/error/elog.c:3670 msgid "WARNING" msgstr "WARNUNG" -#: utils/error/elog.c:3657 +#: utils/error/elog.c:3673 msgid "ERROR" msgstr "FEHLER" -#: utils/error/elog.c:3660 +#: utils/error/elog.c:3676 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3663 +#: utils/error/elog.c:3679 msgid "PANIC" msgstr "PANIK" diff --git a/src/backend/po/es.po b/src/backend/po/es.po index 68903c8e498..50bbd3e8a16 100644 --- a/src/backend/po/es.po +++ b/src/backend/po/es.po @@ -35,6 +35,7 @@ # partition key llave de particionamiento # permission denied permiso denegado # to poll monitorear +# to prefetch pre-cargar # privilege privilegio # to revoke revocar # row registro, fila @@ -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: 2023-08-09 14:56+0200\n" +"POT-Creation-Date: 2024-08-02 20:30+0000\n" +"PO-Revision-Date: 2024-08-04 12:08-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -99,8 +100,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 +131,64 @@ 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:79 ../common/controldata_utils.c:83 +#: commands/copyfrom.c:1687 commands/extension.c:3480 utils/adt/genfile.c:123 #, 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:94 ../common/controldata_utils.c:96 #: 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 +#: 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:2027 replication/slot.c:1946 -#: replication/slot.c:1987 replication/walsender.c:643 +#: replication/logical/snapbuild.c:2040 replication/slot.c:1980 +#: replication/slot.c:2021 replication/walsender.c:643 #: 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:984 utils/cache/relmapper.c:830 #, 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: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:2045 +#: replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648 +#: utils/cache/relmapper.c:834 #, 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 +#: ../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 #: 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: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 #: 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/snapbuild.c:1807 replication/logical/snapbuild.c:1931 +#: 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 #, 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:154 msgid "byte ordering mismatch" msgstr "discordancia en orden de bytes" -#: ../common/controldata_utils.c:126 +#: ../common/controldata_utils.c:156 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -202,55 +202,55 @@ 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/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: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 +#: 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:1918 replication/walsender.c:616 +#: replication/logical/snapbuild.c:1762 replication/logical/snapbuild.c:1872 +#: replication/slot.c:1952 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 +#: 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:2102 +#: 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 #, 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 +#: ../common/controldata_utils.c:232 ../common/controldata_utils.c:235 +#: access/transam/twophase.c:1744 access/transam/twophase.c:1753 +#: access/transam/xlog.c:8766 access/transam/xlogfuncs.c:708 #: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c:5570 postmaster/syslogger.c:1571 +#: postmaster/postmaster.c:5573 postmaster/syslogger.c:1571 #: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:936 +#: utils/cache/relmapper.c:948 #, 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/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: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 +#: 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:8156 +#: access/transam/xlog.c:8201 backup/basebackup_server.c:209 +#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1800 +#: 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 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" @@ -260,27 +260,27 @@ msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" #: ../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 +#: ../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: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 +#: 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:209 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:1461 +#: storage/ipc/procarray.c:2243 storage/ipc/procarray.c:2250 +#: storage/ipc/procarray.c:2749 storage/ipc/procarray.c:3385 #: 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/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:713 utils/mmgr/dsa.c:735 utils/mmgr/dsa.c:816 +#: 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 @@ -325,9 +325,9 @@ msgstr "no se pudo encontrar un «%s» para ejecutar" 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: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 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" @@ -335,8 +335,8 @@ 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 +#: ../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 #, c-format msgid "out of memory\n" msgstr "memoria agotada\n" @@ -347,13 +347,13 @@ 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 +#: ../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:1679 commands/copyto.c:702 commands/extension.c:3445 +#: 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:1879 -#: storage/file/fd.c:1965 storage/file/fd.c:3461 utils/adt/dbsize.c:106 +#: replication/logical/snapbuild.c:1658 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 #, c-format @@ -362,22 +362,22 @@ 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 +#: postmaster/postmaster.c:1564 storage/file/fd.c:2880 #: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 #, 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 +#: storage/file/fd.c:2892 #, 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 +#: ../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:1709 replication/slot.c:1851 storage/file/fd.c:749 +#: replication/logical/snapbuild.c:1819 replication/slot.c:723 +#: replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792 #: utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -497,9 +497,9 @@ msgstr "consejo: " #: ../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 +#: 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 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "valor no válido para el parámetro «%s»: «%s»" @@ -510,10 +510,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 @@ -561,35 +560,35 @@ 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 +#: 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: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 +#: replication/logical/snapbuild.c:1700 replication/logical/snapbuild.c:2134 +#: 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 #, 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 +#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 +#: storage/file/fd.c:3726 #, 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" @@ -614,7 +613,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:1879 msgid "user does not exist" msgstr "usuario no existe" @@ -746,7 +745,7 @@ msgstr "no se pudo verificar el token de proceso: código de error %lu\n" 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/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 @@ -755,28 +754,34 @@ msgstr "petición para sumarización BRIN de rango para el índice «%s» págin 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:1037 access/brin/brin.c:1144 #, 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:1042 access/brin/brin.c:1149 #, 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:1086 access/brin/brin.c:1175 #, 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:1102 access/brin/brin.c:1191 #, 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 +#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084 +#: parser/parse_utilcmd.c:2287 +#, c-format +msgid "index \"%s\" is not valid" +msgstr "el índice «%s» no es válido" + +#: 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 @@ -785,26 +790,9 @@ msgstr "no se pudo abrir la tabla padre del índice «%s»" msgid "cannot accept a value of type %s" msgstr "no se puede aceptar un valor de tipo %s" -#: 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 -#, c-format -msgid "interval out of range" -msgstr "interval fuera de rango" - #: 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/gist/gist.c:1462 access/spgist/spgdoinsert.c:2002 #: access/spgist/spgdoinsert.c:2279 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" @@ -903,7 +891,7 @@ msgstr "El atributo «%s» de tipo %s no coincide con el atributo correspondient 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:1133 access/common/heaptuple.c:1468 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "el número de columnas (%d) excede el límite (%d)" @@ -913,7 +901,7 @@ 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:968 #, 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" @@ -950,7 +938,7 @@ msgstr "espacio de nombre de parámetro «%s» no reconocido" #: access/common/reloptions.c:1302 commands/variable.c:1167 #, c-format msgid "tables declared WITH OIDS are not supported" -msgstr "las tablas declaradas WITH OIDS no está soportado" +msgstr "las tablas declaradas WITH OIDS no están soportadas" #: access/common/reloptions.c:1470 #, c-format @@ -998,15 +986,14 @@ 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" +#, 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 #, 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 #, c-format @@ -1018,15 +1005,14 @@ msgstr "el método de compresión lz4 no está soportado" 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" +#: access/common/tupdesc.c:837 commands/tablecmds.c:7002 +#: commands/tablecmds.c:13073 +#, c-format msgid "too many array dimensions" -msgstr "las dimensiones de array no coinciden" +msgstr "demasiadas dimensiones de array" #: access/common/tupdesc.c:842 parser/parse_clause.c:772 -#: parser/parse_relation.c:1912 +#: parser/parse_relation.c:1913 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "la columna «%s» no puede ser declarada SETOF" @@ -1041,22 +1027,22 @@ msgstr "la «posting list» es demasiado larga" msgid "Reduce maintenance_work_mem." msgstr "Reduzca maintenance_work_mem." -#: access/gin/ginfast.c:1036 +#: access/gin/ginfast.c:1040 #, 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:1047 #, 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:1058 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "no se pueden acceder índices temporales de otras sesiones" -#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:762 +#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 #, c-format msgid "failed to re-find tuple within index \"%s\"" msgstr "no se pudo volver a encontrar la tupla dentro del índice «%s»" @@ -1072,7 +1058,7 @@ 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/arrayfuncs.c:4052 utils/adt/arrayfuncs.c:6739 #: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" @@ -1108,13 +1094,13 @@ msgstr "Esto es causado por una división de página incompleta durante una recu #: 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/hash/hashutil.c:271 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:1195 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "arreglando división incompleta en el índice «%s», bloque %u" @@ -1130,13 +1116,13 @@ msgid "The index is not optimal. To optimize it, contact a developer, or try to 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/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/hash/hashutil.c:247 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" @@ -1151,19 +1137,19 @@ msgstr "la familia de operadores «%s» del método de acceso %s contiene una es 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:279 access/hash/hashfunc.c:335 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 #, 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 +#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:336 catalog/heap.c:671 +#: catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515 +#: commands/indexcmds.c:2015 commands/tablecmds.c:17573 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 +#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1067 utils/adt/varlena.c:1518 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente." @@ -1174,7 +1160,7 @@ 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/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1029 #, 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." @@ -1214,33 +1200,33 @@ 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:2038 #, 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:2557 #, 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:2604 #, 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:3052 access/heap/heapam.c:5921 #, 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:3180 #, 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:4569 access/heap/heapam.c:4607 +#: access/heap/heapam.c:4872 access/heap/heapam_handler.c:467 #, 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»" @@ -1250,7 +1236,7 @@ msgstr "no se pudo bloquear un candado en la fila de la relación «%s»" 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:536 access/heap/rewriteheap.c:659 #, 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" @@ -1262,12 +1248,12 @@ 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/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/xlog.c:2973 access/transam/xlog.c:3164 +#: access/transam/xlog.c:3940 access/transam/xlog.c:8755 #: 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 +#: 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 #, c-format msgid "could not create file \"%s\": %m" @@ -1280,163 +1266,162 @@ msgstr "no se pudo truncar el archivo «%s» a %u: %m" #: access/heap/rewriteheap.c:1156 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:3023 access/transam/xlog.c:3220 +#: access/transam/xlog.c:3952 commands/dbcommands.c:507 +#: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 #: 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 +#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1776 +#: 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 #, 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:480 #, 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:485 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "haciendo vacuum a «%s.%s.%s»" -#: access/heap/vacuumlazy.c:635 +#: access/heap/vacuumlazy.c:633 #, 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:644 #, 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:646 #, 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:651 #, 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:653 #, 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:660 #, 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:667 #, 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:673 #, 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:679 #, 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:686 #, 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:694 #, 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:697 +#, 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:705 msgid "index scan not needed: " msgstr "recorrido de índice no necesario: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:707 msgid "index scan needed: " msgstr "recorrido de índice necesario: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:709 #, 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:714 msgid "index scan bypassed: " msgstr "recorrido de índice pasado por alto: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:716 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:718 #, 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:733 #, 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:745 commands/analyze.c:801 #, 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:755 commands/analyze.c:804 #, 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:758 commands/analyze.c:806 #, 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:763 #, 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:767 commands/analyze.c:810 #, c-format msgid "system usage: %s" msgstr "uso de sistema: %s" -#: access/heap/vacuumlazy.c:2482 +#: access/heap/vacuumlazy.c:2477 #, 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:2637 #, 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:2640 #, 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:2641 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1445,67 +1430,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:2886 #, 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:2956 #, 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:3018 #, 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:3178 #, 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:3394 #, 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:3397 #, 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:3401 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "recorriendo la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3414 +#: access/heap/vacuumlazy.c:3409 #, 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:3412 #, 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:3416 #, 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:3421 commands/vacuumparallel.c:1074 #, 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:3426 commands/vacuumparallel.c:1080 #, 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:3432 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "error mientras se truncaba la relación «%s.%s» a %u bloques" @@ -1525,14 +1510,19 @@ msgstr "el método de acceso «%s» no tiene manejador" 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:658 access/index/indexam.c:87 +#, 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:208 catalog/objectaddress.c:1394 +#: commands/indexcmds.c:2843 commands/tablecmds.c:272 commands/tablecmds.c:296 +#: commands/tablecmds.c:17268 commands/tablecmds.c:19055 #, c-format msgid "\"%s\" is not an index" msgstr "«%s» no es un índice" -#: access/index/indexam.c:979 +#: access/index/indexam.c:1021 #, c-format msgid "operator class %s has no options" msgstr "clase de operadores «%s» no tiene opciones" @@ -1552,38 +1542,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:2333 #, 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:1866 #, 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:1868 #, 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:2677 #, 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:2683 #, 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:2687 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1597,12 +1587,12 @@ 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/spgist/spgutils.c:245 +#: access/spgist/spgutils.c:243 #, 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:1026 #, 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" @@ -1618,10 +1608,9 @@ msgid "operator family \"%s\" of access method %s is missing support function %d 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\"" +#, c-format msgid "cannot open relation \"%s\"" -msgstr "no se puede cambiar la relación «%s»" +msgstr "no se puede abrir la relación «%s»" #: access/table/tableam.c:265 #, c-format @@ -1633,7 +1622,7 @@ msgstr "el tid (%u, %u) no es válido para la relación «%s»" 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:123 access/transam/xlogrecovery.c:4808 #, c-format msgid "%s is too long (maximum %d characters)." msgstr "%s es demasiado largo (máximo %d caracteres)." @@ -1767,17 +1756,17 @@ msgstr "las protecciones de reciclaje de miembros de multixact están inhabilita msgid "MultiXact member wraparound protections are now enabled" msgstr "las protecciones de reciclaje de miembros de multixact están habilitadas" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3034 #, 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:3052 #, 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:3366 #, c-format msgid "invalid MultiXactId: %u" msgstr "el MultiXactId no es válido: %u" @@ -1806,12 +1795,12 @@ msgstr "se ha perdido la conexión al ayudante paralelo" msgid "parallel worker" msgstr "ayudante paralelo" -#: access/transam/parallel.c:1319 +#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 #, 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:1324 replication/logical/applyparallelworker.c:899 #, 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" @@ -1970,130 +1959,130 @@ 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:386 #, 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:393 #, c-format msgid "prepared transactions are disabled" msgstr "las transacciones preparadas están deshabilitadas" -#: access/transam/twophase.c:393 +#: access/transam/twophase.c:394 #, c-format 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:413 #, 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:422 access/transam/twophase.c:2516 #, 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:423 access/transam/twophase.c:2517 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "Incremente max_prepared_transactions (actualmente es %d)." -#: access/transam/twophase.c:598 +#: access/transam/twophase.c:599 #, 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:605 #, 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:606 #, 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:617 #, 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:618 #, 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:633 #, 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:1168 #, 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:1323 #, 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:1332 #, 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:1350 #, 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:1365 #, 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:1371 #, 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:1383 #, 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:1413 access/transam/xlogrecovery.c:590 +#: replication/logical/logical.c:210 replication/walsender.c:687 #, 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:1423 #, 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:1428 #, 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:1436 #, 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:1732 #, 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:1859 #, 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" @@ -2135,6 +2124,22 @@ msgstr "archivo de estado de dos fases corrupto para transacción %u" msgid "corrupted two-phase state in memory for transaction %u" msgstr "estado de dos fases en memoria corrupto para transacción %u" +#: access/transam/twophase.c:2499 +#, c-format +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/twophase.c:2501 +#, 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 "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:2509 jit/jit.c:205 utils/fmgr/dfmgr.c:209 +#: utils/fmgr/dfmgr.c:415 +#, c-format +msgid "could not access file \"%s\": %m" +msgstr "no se pudo acceder al archivo «%s»: %m" + #: access/transam/varsup.c:129 #, c-format msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\"" @@ -2185,558 +2190,557 @@ 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:3490 #, 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:3500 #, 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:3510 +#, 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:3520 #, 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: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 #, 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:3802 #, 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:3921 access/transam/xact.c:4000 +#: access/transam/xact.c:4123 #, 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:4011 #, 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:4134 #, 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:4233 #, 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:4320 #, 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:4330 access/transam/xact.c:4381 +#: access/transam/xact.c:4441 access/transam/xact.c:4490 #, 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:4387 access/transam/xact.c:4496 #, 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:4429 #, 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 +#: access/transam/xact.c:4557 #, 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 +#: access/transam/xact.c:4625 #, 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:5271 #, 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:1468 #, 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:2230 #, 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 +#: access/transam/xlog.c:3457 access/transam/xlogutils.c:833 #: replication/walsender.c:2725 #, 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:3741 #, 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:3783 access/transam/xlog.c:3793 #, 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:3799 #, 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:3802 commands/dbcommands.c:3172 #, 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:3869 #, 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: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 #, 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:4020 #, 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:4024 #, 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:4029 #, 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:4032 access/transam/xlog.c:4056 +#: access/transam/xlog.c:4063 access/transam/xlog.c:4068 #, 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:4043 #, 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:4053 #, 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:4060 #, 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:4067 #, 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:4072 #, 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: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 #, 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:4079 #, 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:4086 #, 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:4093 #, 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:4100 #, 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:4107 #, 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:4114 #, 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:4123 #, 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:4130 #, 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:4139 #, 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" -#: access/transam/xlog.c:4149 +#: access/transam/xlog.c:4151 #, 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:4155 #, 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:4310 catalog/namespace.c:4335 +#: commands/tablespace.c:1216 commands/user.c:2530 commands/variable.c:72 +#: utils/error/elog.c:2225 #, 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:4356 commands/user.c:2546 commands/variable.c:173 +#: utils/error/elog.c:2251 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Palabra clave no reconocida: «%s»." -#: access/transam/xlog.c:4768 +#: access/transam/xlog.c:4770 #, 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:4778 #, 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:4784 #, 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:5001 #, c-format msgid "WAL was generated with wal_level=minimal, cannot continue recovering" msgstr "el WAL fue generado con wal_level=minimal, no se puede continuar con la recuperación" -#: access/transam/xlog.c:5000 +#: access/transam/xlog.c:5002 #, c-format msgid "This happens if you temporarily set wal_level=minimal on the server." msgstr "Esto sucede si temporalmente define wal_level=minimal en el servidor." -#: access/transam/xlog.c:5001 +#: access/transam/xlog.c:5003 #, c-format msgid "Use a backup taken after setting wal_level to higher than minimal." msgstr "Utilice un respaldo tomado después de establecer wal_level a un valor superior a minimal." -#: access/transam/xlog.c:5065 +#: access/transam/xlog.c:5067 #, 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" -#: access/transam/xlog.c:5076 +#: access/transam/xlog.c:5078 #, 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:5084 #, 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:5090 #, 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:5096 #, 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:5098 #, 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:5104 #, 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:5106 #, 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:5112 #, 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:5118 #, 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:5503 #, 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:5504 #, 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:5507 #, 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:5553 #, c-format msgid "selected new timeline ID: %u" msgstr "seleccionado nuevo ID de timeline: %u" -#: access/transam/xlog.c:5583 +#: access/transam/xlog.c:5586 #, c-format msgid "archive recovery complete" msgstr "recuperación completa" -#: access/transam/xlog.c:6185 +#: access/transam/xlog.c:6192 #, c-format msgid "shutting down" msgstr "apagando" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6224 +#: access/transam/xlog.c:6231 #, 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:6243 #, 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:6308 #, 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:6331 #, 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:6776 #, 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:7337 #, 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:7339 #, 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:7587 #, 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:7794 #, 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:7852 #, 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:7910 #, 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:7939 #, 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:8206 #, 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:8211 #, 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:8296 access/transam/xlog.c:8619 #, 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/xlog.c:8297 access/transam/xlog.c:8620 #: access/transam/xlogfuncs.c:254 #, 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:8287 +#: access/transam/xlog.c:8302 #, 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:8423 #, c-format msgid "WAL generated with full_page_writes=off was replayed since last restartpoint" msgstr "el WAL generado con full_page_writes=off fue restaurado desde el último restartpoint" -#: access/transam/xlog.c:8410 access/transam/xlog.c:8693 +#: access/transam/xlog.c:8425 access/transam/xlog.c:8708 #, c-format msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again." msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active full_page_writes y ejecute CHECKPOINT en el primario, luego trate de ejecutar un respaldo en línea nuevamente." -#: access/transam/xlog.c:8477 backup/basebackup.c:1351 utils/adt/misc.c:354 +#: access/transam/xlog.c:8492 backup/basebackup.c:1355 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:8499 backup/basebackup.c:1360 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:8658 backup/basebackup.c:1221 #, 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:8659 backup/basebackup.c:1222 #, 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:8706 #, c-format msgid "WAL generated with full_page_writes=off was replayed during online backup" msgstr "el WAL generado con full_page_writes=off fue restaurado durante el respaldo en línea" -#: access/transam/xlog.c:8807 +#: access/transam/xlog.c:8822 #, 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:8836 #, 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:8838 #, c-format msgid "Check that your archive_command is executing properly. You can safely cancel this backup, but the database backup will not be usable without all the WAL segments." msgstr "Verifique que su archive_command se esté ejecutando con normalidad. Puede cancelar este respaldo con confianza, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL." -#: access/transam/xlog.c:8830 +#: access/transam/xlog.c:8845 #, 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:8849 #, 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:8888 #, 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:214 #, 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:223 #, 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:237 #, 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ó." -#: access/transam/xlogarchive.c:262 +#: access/transam/xlogarchive.c:269 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "no se pudo recuperar el archivo «%s»: %s" @@ -2744,17 +2748,17 @@ 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:347 #, c-format msgid "%s \"%s\": %s" msgstr "%s «%s»: %s" -#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 +#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:537 #, 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:465 access/transam/xlogarchive.c:545 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "no se pudo escribir el archivo de estado «%s»: %m" @@ -2787,12 +2791,10 @@ msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recupera 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" +#, c-format 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" +msgstr "pg_log_standby_snapshot() sólo puede usarse si wal_level >= replica" #: access/transam/xlogfuncs.c:253 #, c-format @@ -2805,10 +2807,9 @@ 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\"" +#, 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 @@ -2839,7 +2840,7 @@ msgstr "%s no puede ser ejecutado después que una promoción es solicitada." 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:715 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" @@ -2856,172 +2857,157 @@ msgstr[1] "el servidor no se promovió en %d segundos" 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:621 #, 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:630 #, 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:671 access/transam/xlogreader.c:1136 #, 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:760 #, 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:773 #, 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:1144 #, 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:1157 access/transam/xlogreader.c:1173 #, 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:1211 #, 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:1245 #, 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:1260 access/transam/xlogreader.c:1302 #, 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:1276 #, 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:1284 #, 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:1290 #, 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:1322 #, 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:1348 #, 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:1754 #, 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:1778 #, 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:1785 #, 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:1821 #, 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:1837 #, 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:1851 #, 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:1866 #, 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:1882 #, 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:1894 #, 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:1961 #, 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:1987 #, 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:2071 #, 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:2078 #, 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:2105 access/transam/xlogreader.c:2122 #, 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:2131 #, 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:2139 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d" @@ -3061,13 +3047,18 @@ msgstr "comenzando recuperación a un punto en el tiempo hasta alcanzar un estad msgid "starting archive recovery" msgstr "comenzando proceso de recuperación" -#: access/transam/xlogrecovery.c:653 +#: access/transam/xlogrecovery.c:637 +#, c-format +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:669 #, 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" # Purposefully deviate from quoting convention here, since argument is a shell command. -#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 +#: access/transam/xlogrecovery.c:670 access/transam/xlogrecovery.c:680 #, c-format msgid "" "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" @@ -3078,416 +3069,420 @@ 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:679 #, c-format msgid "could not locate required checkpoint record" msgstr "no se pudo localizar el registro del punto de control requerido" -#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 +#: access/transam/xlogrecovery.c:708 commands/tablespace.c:670 #, 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:740 access/transam/xlogrecovery.c:746 #, 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:742 #, 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:748 #, 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:787 +#, 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:812 #, c-format msgid "could not locate a valid checkpoint record" msgstr "no se pudo localizar un registro de punto de control válido" -#: access/transam/xlogrecovery.c:810 +#: access/transam/xlogrecovery.c:836 #, 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:838 #, 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." -#: access/transam/xlogrecovery.c:826 +#: access/transam/xlogrecovery.c:852 #, 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:880 #, 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:885 #, c-format msgid "invalid redo in checkpoint record" msgstr "redo no es válido en el registro de punto de control" -#: access/transam/xlogrecovery.c:870 +#: access/transam/xlogrecovery.c:896 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "registro redo no es válido en el punto de control de apagado" -#: access/transam/xlogrecovery.c:899 +#: access/transam/xlogrecovery.c:925 #, 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:929 #, 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:972 #, 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:973 #, 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:1027 #, 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:1092 #, 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:1109 #, c-format 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:1110 #, 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:1118 #, c-format msgid "must specify restore_command when standby mode is not enabled" msgstr "debe especificarse restore_command cuando el modo standby no está activo" -#: access/transam/xlogrecovery.c:1130 +#: access/transam/xlogrecovery.c:1156 #, 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:1239 access/transam/xlogrecovery.c:1246 +#: access/transam/xlogrecovery.c:1305 access/transam/xlogrecovery.c:1385 +#: access/transam/xlogrecovery.c:1409 #, 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:1306 #, 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:1688 #, c-format msgid "redo starts at %X/%X" msgstr "redo comienza en %X/%X" -#: access/transam/xlogrecovery.c:1675 +#: access/transam/xlogrecovery.c:1701 #, 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:1793 #, 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:1825 #, 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:1831 #, 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:1840 #, c-format msgid "redo is not required" msgstr "no se requiere redo" -#: access/transam/xlogrecovery.c:1825 +#: access/transam/xlogrecovery.c:1851 #, 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:2045 #, 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:2112 #, 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:2114 #, 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:2115 #, 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:2163 +#: access/transam/xlogrecovery.c:2167 +#, c-format +msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" +msgstr "se completó la recuperación de backup con LSN de redo %X/%X y LSN de término %X/%X" + +#: access/transam/xlogrecovery.c:2197 #, 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:2235 #, 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:2333 #, 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" -#: access/transam/xlogrecovery.c:2308 +#: access/transam/xlogrecovery.c:2342 #, 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" -#: access/transam/xlogrecovery.c:2324 +#: access/transam/xlogrecovery.c:2358 #, 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:2542 access/transam/xlogrecovery.c:2818 #, 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:2563 #, 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:2653 #, 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:2660 #, 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:2713 #, 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:2731 #, 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:2798 #, 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:2806 #, 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:2887 #, 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:2888 #, 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:2891 access/transam/xlogrecovery.c:4628 #, c-format msgid "recovery has paused" msgstr "la recuperación está en pausa" -#: access/transam/xlogrecovery.c:2858 +#: access/transam/xlogrecovery.c:2892 #, 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:3155 +#, 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:3363 +#, 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:3370 +#, 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:4010 +#, 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:4020 #, c-format msgid "invalid checkpoint record" msgstr "el registro del punto de control no es válido" -#: access/transam/xlogrecovery.c:3992 +#: access/transam/xlogrecovery.c:4026 #, 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" -#: access/transam/xlogrecovery.c:4000 +#: access/transam/xlogrecovery.c:4034 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "xl_info en el registro del punto de control no es válido" -#: access/transam/xlogrecovery.c:4006 +#: access/transam/xlogrecovery.c:4040 #, c-format msgid "invalid length of checkpoint record" msgstr "la longitud del registro de punto de control no es válida" -#: access/transam/xlogrecovery.c:4060 +#: access/transam/xlogrecovery.c:4094 #, 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:4108 #, 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:4127 #, c-format msgid "new target timeline is %u" msgstr "el nuevo timeline destino es %u" -#: access/transam/xlogrecovery.c:4296 +#: access/transam/xlogrecovery.c:4330 #, 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:4390 #, c-format msgid "received promote request" msgstr "se recibió petición de promoción" -#: access/transam/xlogrecovery.c:4585 +#: access/transam/xlogrecovery.c:4619 #, 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:4620 access/transam/xlogrecovery.c:4647 +#: access/transam/xlogrecovery.c:4677 #, 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:4629 #, 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:4630 #, 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:4641 #, 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:4651 #, 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:4675 #, 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:4681 #, 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:4723 #, 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:4724 #, c-format msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set." msgstr "A lo más uno de recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid puede estar definido." -#: access/transam/xlogrecovery.c:4701 +#: access/transam/xlogrecovery.c:4735 #, 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 +#: access/transam/xlogrecovery.c:4887 utils/adt/timestamp.c:186 #: utils/adt/timestamp.c:439 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp fuera de rango: «%s»" -#: access/transam/xlogrecovery.c:4898 +#: access/transam/xlogrecovery.c:4932 #, c-format 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" +#, 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" +#, 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 #, c-format @@ -3505,7 +3500,7 @@ msgstr "La orden fallida era: «%s»" 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:107 postmaster/postmaster.c:3678 #, 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." @@ -3577,10 +3572,9 @@ msgid "duplicate option \"%s\"" msgstr "nombre de opción «%s» duplicada" #: backup/basebackup.c:750 -#, fuzzy, c-format -#| msgid "unrecognized object type \"%s\"" +#, c-format msgid "unrecognized checkpoint type: \"%s\"" -msgstr "tipo de objeto «%s» no reconocido" +msgstr "tipo de checkpoint no reconocido: «%s»" #: backup/basebackup.c:785 #, c-format @@ -3603,10 +3597,9 @@ 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\"" +#, 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 #, c-format @@ -3614,80 +3607,76 @@ 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" +#, 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" +#, 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" +#, 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 #, 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:1116 backup/basebackup.c:1298 #, 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:1434 #, c-format msgid "skipping special file \"%s\"" msgstr "omitiendo el archivo especial «%s»" -#: backup/basebackup.c:1542 +#: backup/basebackup.c:1546 #, 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:1578 #, 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:1662 #, 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:1669 #, 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 +#: 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] "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:1771 #, 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:1776 #, 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 -#, fuzzy, c-format -#| msgid "Bonjour is not supported by this build" +#, 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 @@ -3695,31 +3684,28 @@ msgid "could not initialize compression library" msgstr "no se pudo inicializar la biblioteca de compresión" #: backup/basebackup_lz4.c:67 -#, fuzzy, c-format -#| msgid "Bonjour is not supported by this build" +#, c-format msgid "lz4 compression is not supported by this build" -msgstr "Bonjour no está soportado en este servidor" +msgstr "la compresión lz4 no está soportada en este servidor" #: backup/basebackup_server.c:75 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#, 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 #, 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" +#, 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 +#: 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:1697 +#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1731 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -3730,42 +3716,38 @@ msgstr "no se pudo crear el directorio «%s»: %m" 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:125 utils/init/postinit.c:1164 #, 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 +#: 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 #, 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" +#, 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,8 +3756,8 @@ 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" #: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 #, c-format @@ -3933,8 +3915,8 @@ msgstr "el tipo de privilegio %s no es válido para un parámetro" 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:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092 +#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:286 #, c-format msgid "large object %u does not exist" msgstr "no existe el objeto grande %u" @@ -3945,32 +3927,31 @@ 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" +#, 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 #, 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:1595 catalog/catalog.c:652 catalog/objectaddress.c:1561 +#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 +#: commands/sequence.c:1670 commands/tablecmds.c:7388 commands/tablecmds.c:7544 +#: commands/tablecmds.c:7594 commands/tablecmds.c:7668 +#: commands/tablecmds.c:7738 commands/tablecmds.c:7854 +#: commands/tablecmds.c:7948 commands/tablecmds.c:8007 +#: commands/tablecmds.c:8096 commands/tablecmds.c:8126 +#: commands/tablecmds.c:8254 commands/tablecmds.c:8336 +#: commands/tablecmds.c:8470 commands/tablecmds.c:8582 +#: commands/tablecmds.c:12307 commands/tablecmds.c:12488 +#: commands/tablecmds.c:12649 commands/tablecmds.c:13844 +#: commands/tablecmds.c:16375 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:3415 +#: parser/parse_utilcmd.c:3451 parser/parse_utilcmd.c:3493 utils/adt/acl.c:2876 +#: utils/adt/ruleutils.c:2797 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "no existe la columna «%s» en la relación «%s»" @@ -3980,15 +3961,15 @@ msgstr "no existe la columna «%s» en la relación «%s»" 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:1847 commands/tablecmds.c:14001 commands/tablecmds.c:17277 #, 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:1855 catalog/objectaddress.c:1401 commands/sequence.c:1178 +#: commands/tablecmds.c:254 commands/tablecmds.c:17241 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "«%s» no es una secuencia" @@ -4038,450 +4019,449 @@ msgstr "Defina los privilegios del tipo elemento en su lugar." msgid "\"%s\" is not a domain" msgstr "«%s» no es un dominio" -#: catalog/aclchk.c:2621 +#: catalog/aclchk.c:2619 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "tipo de privilegio «%s» no reconocido" -#: catalog/aclchk.c:2688 +#: catalog/aclchk.c:2684 #, 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:2687 #, c-format msgid "permission denied for collation %s" msgstr "permiso denegado al ordenamiento (collation) %s" -#: catalog/aclchk.c:2694 +#: catalog/aclchk.c:2690 #, c-format msgid "permission denied for column %s" msgstr "permiso denegado a la columna %s" -#: catalog/aclchk.c:2697 +#: catalog/aclchk.c:2693 #, c-format msgid "permission denied for conversion %s" msgstr "permiso denegado a la conversión %s" -#: catalog/aclchk.c:2700 +#: catalog/aclchk.c:2696 #, c-format msgid "permission denied for database %s" msgstr "permiso denegado a la base de datos %s" -#: catalog/aclchk.c:2703 +#: catalog/aclchk.c:2699 #, c-format msgid "permission denied for domain %s" msgstr "permiso denegado al dominio %s" -#: catalog/aclchk.c:2706 +#: catalog/aclchk.c:2702 #, c-format msgid "permission denied for event trigger %s" msgstr "permiso denegado al disparador por eventos %s" -#: catalog/aclchk.c:2709 +#: catalog/aclchk.c:2705 #, c-format msgid "permission denied for extension %s" msgstr "permiso denegado a la extensión %s" -#: catalog/aclchk.c:2712 +#: catalog/aclchk.c:2708 #, 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:2711 #, c-format msgid "permission denied for foreign server %s" msgstr "permiso denegado al servidor foráneo %s" -#: catalog/aclchk.c:2718 +#: catalog/aclchk.c:2714 #, 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:2717 #, c-format msgid "permission denied for function %s" msgstr "permiso denegado a la función %s" -#: catalog/aclchk.c:2724 +#: catalog/aclchk.c:2720 #, c-format msgid "permission denied for index %s" msgstr "permiso denegado al índice %s" -#: catalog/aclchk.c:2727 +#: catalog/aclchk.c:2723 #, c-format msgid "permission denied for language %s" msgstr "permiso denegado al lenguaje %s" -#: catalog/aclchk.c:2730 +#: catalog/aclchk.c:2726 #, c-format msgid "permission denied for large object %s" msgstr "permiso denegado al objeto grande %s" -#: catalog/aclchk.c:2733 +#: catalog/aclchk.c:2729 #, c-format msgid "permission denied for materialized view %s" msgstr "permiso denegado a la vista materializada %s" -#: catalog/aclchk.c:2736 +#: catalog/aclchk.c:2732 #, 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:2735 #, c-format msgid "permission denied for operator %s" msgstr "permiso denegado al operador %s" -#: catalog/aclchk.c:2742 +#: catalog/aclchk.c:2738 #, 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:2741 #, c-format msgid "permission denied for parameter %s" msgstr "permiso denegado al parámetro %s" -#: catalog/aclchk.c:2748 +#: catalog/aclchk.c:2744 #, c-format msgid "permission denied for policy %s" msgstr "permiso denegado a la política %s" -#: catalog/aclchk.c:2751 +#: catalog/aclchk.c:2747 #, c-format msgid "permission denied for procedure %s" msgstr "permiso denegado al procedimiento %s" -#: catalog/aclchk.c:2754 +#: catalog/aclchk.c:2750 #, c-format msgid "permission denied for publication %s" msgstr "permiso denegado a la publicación %s" -#: catalog/aclchk.c:2757 +#: catalog/aclchk.c:2753 #, c-format msgid "permission denied for routine %s" msgstr "permiso denegado a la rutina %s" -#: catalog/aclchk.c:2760 +#: catalog/aclchk.c:2756 #, 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:2759 commands/sequence.c:666 commands/sequence.c:892 +#: commands/sequence.c:934 commands/sequence.c:975 commands/sequence.c:1768 +#: commands/sequence.c:1814 #, c-format msgid "permission denied for sequence %s" msgstr "permiso denegado a la secuencia %s" -#: catalog/aclchk.c:2766 +#: catalog/aclchk.c:2762 #, 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:2765 #, c-format msgid "permission denied for subscription %s" msgstr "permiso denegado a la suscripción %s" -#: catalog/aclchk.c:2772 +#: catalog/aclchk.c:2768 #, c-format msgid "permission denied for table %s" msgstr "permiso denegado a la tabla %s" -#: catalog/aclchk.c:2775 +#: catalog/aclchk.c:2771 #, c-format msgid "permission denied for tablespace %s" msgstr "permiso denegado al tablespace %s" -#: catalog/aclchk.c:2778 +#: catalog/aclchk.c:2774 #, 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:2777 #, 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:2780 #, c-format msgid "permission denied for type %s" msgstr "permiso denegado al tipo %s" -#: catalog/aclchk.c:2787 +#: catalog/aclchk.c:2783 #, c-format msgid "permission denied for view %s" msgstr "permiso denegado a la vista %s" -#: catalog/aclchk.c:2823 +#: catalog/aclchk.c:2819 #, 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:2822 #, 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:2825 #, 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:2828 #, 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:2831 #, c-format msgid "must be owner of domain %s" msgstr "debe ser dueño del dominio %s" -#: catalog/aclchk.c:2838 +#: catalog/aclchk.c:2834 #, 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:2837 #, 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:2840 #, 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:2843 #, 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:2846 #, 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:2849 #, 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:2852 #, c-format msgid "must be owner of index %s" msgstr "debe ser dueño del índice %s" -#: catalog/aclchk.c:2859 +#: catalog/aclchk.c:2855 #, c-format msgid "must be owner of language %s" msgstr "debe ser dueño del lenguaje %s" -#: catalog/aclchk.c:2862 +#: catalog/aclchk.c:2858 #, 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:2861 #, 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:2864 #, 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:2867 #, c-format msgid "must be owner of operator %s" msgstr "debe ser dueño del operador %s" -#: catalog/aclchk.c:2874 +#: catalog/aclchk.c:2870 #, 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:2873 #, c-format msgid "must be owner of procedure %s" msgstr "debe ser dueño del procedimiento %s" -#: catalog/aclchk.c:2880 +#: catalog/aclchk.c:2876 #, 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:2879 #, 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:2882 #, 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:2885 #, 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:2888 #, 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:2891 #, c-format msgid "must be owner of type %s" msgstr "debe ser dueño del tipo %s" -#: catalog/aclchk.c:2898 +#: catalog/aclchk.c:2894 #, 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:2897 #, c-format msgid "must be owner of schema %s" msgstr "debe ser dueño del esquema %s" -#: catalog/aclchk.c:2904 +#: catalog/aclchk.c:2900 #, 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:2903 #, c-format msgid "must be owner of tablespace %s" msgstr "debe ser dueño del tablespace %s" -#: catalog/aclchk.c:2910 +#: catalog/aclchk.c:2906 #, 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:2909 #, 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:2923 #, 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:2969 #, 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:3104 catalog/aclchk.c:3984 catalog/aclchk.c:4015 +#, 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:3188 catalog/aclchk.c:3207 #, 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:3302 #, 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:3476 #, 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 +#: catalog/aclchk.c:3640 commands/collationcmds.c:813 #: commands/publicationcmds.c:1746 #, 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:3705 utils/cache/typcache.c:390 utils/cache/typcache.c:445 #, 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:470 #, 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:472 #, 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:497 #, 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:630 catalog/catalog.c:697 #, c-format msgid "must be superuser to call %s()" msgstr "debe ser superusuario para invocar %s()" -#: catalog/catalog.c:618 +#: catalog/catalog.c:639 #, 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:644 parser/parse_utilcmd.c:2280 #, 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:661 #, 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:668 #, 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:553 catalog/pg_shdepend.c:658 #, 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:845 catalog/dependency.c:1072 #, 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:847 catalog/dependency.c:1074 #, 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:1153 catalog/dependency.c:1162 #, c-format msgid "%s depends on %s" msgstr "%s depende de %s" -#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#: catalog/dependency.c:1177 catalog/dependency.c:1186 #, c-format msgid "drop cascades to %s" msgstr "eliminando además %s" -#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 +#: catalog/dependency.c:1194 catalog/pg_shdepend.c:823 #, c-format msgid "" "\n" @@ -4496,48 +4476,48 @@ msgstr[1] "" "\n" "y otros %d objetos (vea el registro del servidor para obtener la lista)" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, 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 +#: catalog/dependency.c:1209 catalog/dependency.c:1216 +#: catalog/dependency.c:1227 commands/tablecmds.c:1332 +#: commands/tablecmds.c:14488 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: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 +#: 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 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#: catalog/dependency.c:1210 catalog/dependency.c:1217 #, 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:1214 #, 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:1222 #, 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:1908 #, 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:2433 parser/parse_relation.c:3413 +#: parser/parse_relation.c:3423 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "no existe la columna %d en la relación «%s»" @@ -4552,13 +4532,13 @@ msgstr "se ha denegado el permiso para crear «%s.%s»" 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:466 commands/tablecmds.c:2371 commands/tablecmds.c:3044 +#: commands/tablecmds.c:6971 #, 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:484 commands/tablecmds.c:7278 #, 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" @@ -4569,39 +4549,39 @@ 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:578 #, 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:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "la columna «%s» tiene pseudotipo %s" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, 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:669 #, 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:675 commands/createas.c:203 commands/createas.c:512 #, 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:1151 catalog/index.c:887 commands/createas.c:408 +#: commands/tablecmds.c:3996 #, 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/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 @@ -4609,235 +4589,230 @@ msgstr "la relación «%s» ya existe" msgid "type \"%s\" already exists" msgstr "ya existe un tipo «%s»" -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, 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:1208 +#, 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:1219 #, 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:1229 +#, 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:2129 #, 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:2404 #, 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:2574 catalog/index.c:901 catalog/pg_constraint.c:682 +#: commands/tablecmds.c:8957 #, 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:2581 #, 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:2592 #, 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:2602 #, 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:2607 #, 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:2633 catalog/pg_constraint.c:811 commands/tablecmds.c:2669 +#: commands/tablecmds.c:3196 commands/tablecmds.c:6903 +#: commands/tablecmds.c:15310 commands/tablecmds.c:15451 +#, 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:2717 #, 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:2719 #, 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:2725 #, 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:2726 #, 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:2781 #, 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:2809 rewrite/rewriteHandler.c:1297 #, 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:2814 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 #, 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:2861 #, 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:3167 #, 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:3168 #, 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:3173 #, 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:3174 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "La tabla «%s» hace referencia a «%s»." -#: catalog/heap.c:3163 +#: catalog/heap.c:3176 #, 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:225 parser/parse_utilcmd.c:2186 #, 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:239 +#, 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:256 #, c-format msgid "primary keys cannot be expressions" msgstr "las llaves primarias no pueden ser expresiones" -#: catalog/index.c:272 +#: catalog/index.c:273 #, 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:786 catalog/index.c:1943 #, 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:826 #, 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:841 #, 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:850 catalog/index.c:1319 #, 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:859 #, 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 +#: catalog/index.c:879 commands/createas.c:423 commands/sequence.c:158 #: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "la relación «%s» ya existe, omitiendo" -#: catalog/index.c:928 +#: catalog/index.c:929 #, 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:939 utils/cache/relcache.c:3731 +#, 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:2242 #, 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:3676 #, 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:3687 commands/indexcmds.c:3607 #, 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:3703 commands/indexcmds.c:3487 commands/indexcmds.c:3631 +#: commands/tablecmds.c:3411 #, 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:3847 #, c-format msgid "index \"%s\" was reindexed" msgstr "el índice «%s» fue reindexado" -#: catalog/index.c:3955 +#: catalog/index.c:3984 #, 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 +#: commands/trigger.c:5738 #, 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»" @@ -4852,24 +4827,24 @@ msgstr "las tablas temporales no pueden especificar un nombre de esquema" 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:403 commands/lockcmds.c:144 commands/lockcmds.c:224 #, 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:431 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:436 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:502 catalog/namespace.c:3073 commands/extension.c:1611 +#: commands/extension.c:1617 #, c-format msgid "no schema has been selected to create in" msgstr "no se ha seleccionado ningún esquema dentro del cual crear" @@ -4909,19 +4884,19 @@ msgstr "no existe el diccionario de búsqueda en texto «%s»" 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 +#: catalog/namespace.c:2767 commands/tsearchcmds.c:1168 #: utils/adt/regproc.c:1329 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:2880 parser/parse_expr.c:832 parser/parse_target.c:1260 #, 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:2886 parser/parse_expr.c:839 parser/parse_target.c:1267 +#: gram.y:18569 gram.y:18609 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" @@ -4937,7 +4912,7 @@ 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 +#: commands/tablecmds.c:1277 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "no existe el esquema «%s»" @@ -4973,26 +4948,26 @@ 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 +#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2203 +#: commands/tablecmds.c:12424 #, 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 +#: commands/tablecmds.c:17246 commands/view.c:119 #, 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:1423 commands/matview.c:186 commands/tablecmds.c:266 +#: commands/tablecmds.c:17251 #, 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 +#: commands/tablecmds.c:17256 #, c-format msgid "\"%s\" is not a foreign table" msgstr "«%s» no es una tabla foránea" @@ -5012,10 +4987,10 @@ msgstr "el nombre de columna debe ser calificado" 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:1656 commands/functioncmds.c:138 +#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 -#: utils/adt/acl.c:4449 +#: utils/adt/acl.c:4441 #, c-format msgid "type \"%s\" does not exist" msgstr "no existe el tipo «%s»" @@ -5047,10 +5022,9 @@ 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" +#, 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 #, c-format @@ -5110,7 +5084,7 @@ msgstr "el largo de la lista de argumentos debe ser exactamente %d" 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:2523 commands/functioncmds.c:1562 #, c-format msgid "must be owner of type %s or type %s" msgstr "debe ser dueño del tipo %s o el tipo %s" @@ -5124,12 +5098,12 @@ msgstr "permiso denegado" #: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 #, 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 #, 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 #, c-format @@ -5280,10 +5254,9 @@ msgid "role %s" msgstr "rol %s" #: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 -#, fuzzy, c-format -#| msgid "removal of role \"%s\" failed: %s" +#, 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 #, c-format @@ -5574,7 +5547,7 @@ 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 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:692 #: 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 @@ -5700,12 +5673,12 @@ msgstr "ya existe la conversión «%s»" 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:222 commands/extension.c:3368 #, 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:229 catalog/pg_depend.c:280 commands/extension.c:3408 #, c-format msgid "%s is not a member of extension \"%s\"" msgstr "%s no es un miembro de la extensión «%s»" @@ -5770,8 +5743,8 @@ msgstr "no se puede desprender la partición «%s»" 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:596 commands/tablecmds.c:4623 +#: commands/tablecmds.c:15566 #, 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." @@ -5852,16 +5825,14 @@ msgid "operator cannot be its own negator or sort operator" msgstr "un operador no puede ser su propio negador u operador de ordenamiento" #: catalog/pg_parameter_acl.c:53 -#, fuzzy, c-format -#| msgid "parameter ACL with OID %u does not exist" +#, c-format msgid "parameter ACL \"%s\" does not exist" -msgstr "no existe el ACL de parámetro con OID %u" +msgstr "no existe el ACL de parámetro «%s»" #: catalog/pg_parameter_acl.c:88 -#, fuzzy, c-format -#| msgid "invalid type name \"%s\"" +#, c-format msgid "invalid parameter name \"%s\"" -msgstr "el nombre de tipo «%s» no es válido" +msgstr "nombre de parámetro «%s» no válido" #: catalog/pg_proc.c:132 parser/parse_func.c:2233 #, c-format @@ -5950,7 +5921,7 @@ msgstr "las funciones SQL no pueden retornar el tipo %s" 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:988 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "función SQL «%s»" @@ -5982,16 +5953,14 @@ 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." +#, 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." +#, 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 #, c-format @@ -5999,28 +5968,24 @@ 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" +#, 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" +#, 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" +#, 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\"" +#, 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 #, c-format @@ -6134,7 +6099,7 @@ msgstr "el tamaño interno %d no es válido para un tipo pasado por valor" 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:326 commands/typecmds.c:4146 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN" @@ -6234,7 +6199,7 @@ msgstr "las funciones de serialización pueden especificarse sólo cuando el tip 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:438 commands/functioncmds.c:640 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "el parámetro «parallel» debe ser SAFE, RESTRICTED o UNSAFE" @@ -6311,17 +6276,17 @@ 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/subscriptioncmds.c:1837 #, 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/subscriptioncmds.c:1838 #, 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 #, c-format @@ -6343,7 +6308,7 @@ 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/amcmds.c:154 commands/indexcmds.c:216 commands/indexcmds.c:839 #: commands/opclasscmds.c:375 commands/opclasscmds.c:833 #, c-format msgid "access method \"%s\" does not exist" @@ -6361,47 +6326,47 @@ msgstr "no se ha especificado una función manejadora" msgid "function %s must return type %s" msgstr "la función %s debe retornar el tipo %s" -#: commands/analyze.c:227 +#: commands/analyze.c:228 #, 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:245 #, 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:325 #, c-format msgid "analyzing \"%s.%s\" inheritance tree" msgstr "analizando la jerarquía de herencia «%s.%s»" -#: commands/analyze.c:329 +#: commands/analyze.c:330 #, c-format msgid "analyzing \"%s.%s\"" msgstr "analizando «%s.%s»" -#: commands/analyze.c:394 +#: commands/analyze.c:395 #, 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:792 #, 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:1339 #, 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:1423 #, 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:1521 #, 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" @@ -6446,83 +6411,82 @@ msgstr "El proceso servidor con PID %d está entre aquellos con transacciones m 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:130 #, 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:160 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:178 #, 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:192 commands/tablecmds.c:14302 commands/tablecmds.c:16145 #, 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:16155 #, 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:950 #, 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:956 #, 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:961 #, 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:988 +#, 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:993 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -6531,23 +6495,17 @@ msgstr "" "%.0f versiones muertas de filas no pueden ser eliminadas aún.\n" "%s." -#: commands/cluster.c:1728 -#, 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»" - #: commands/collationcmds.c:112 #, 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 +#: commands/define.c:389 commands/tablecmds.c:7929 +#: 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 #, c-format msgid "conflicting or redundant options" @@ -6559,10 +6517,9 @@ 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" +#, 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 #, c-format @@ -6574,117 +6531,108 @@ 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:259 +#: commands/collationcmds.c:267 #, 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:282 commands/dbcommands.c:1091 #, 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:301 #, 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:306 commands/dbcommands.c:1110 +#, 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:325 #, 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:385 #, 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:396 #, 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:421 +#, 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:423 commands/subscriptioncmds.c:1331 +#: commands/tablecmds.c:7754 commands/tablecmds.c:7764 +#: commands/tablecmds.c:14004 commands/tablecmds.c:17279 +#: commands/tablecmds.c:17300 commands/typecmds.c:3637 commands/typecmds.c:3720 +#: commands/typecmds.c:4013 +#, c-format +msgid "Use %s instead." +msgstr "Use %s en su lugar." -#: commands/collationcmds.c:446 commands/dbcommands.c:2447 +#: commands/collationcmds.c:451 commands/dbcommands.c:2488 #, 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:466 commands/dbcommands.c:2501 #, 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:499 commands/dbcommands.c:2667 #, 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:520 #, 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:808 #, 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 +#: 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 "no se pudo ejecutar la orden «%s»: %m" -#: commands/collationcmds.c:923 commands/collationcmds.c:1008 +#: commands/collationcmds.c:928 commands/collationcmds.c:1013 #, 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: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 #, 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 #, c-format @@ -6727,15 +6675,14 @@ 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" +#, 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 #, 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 #, c-format @@ -6743,26 +6690,24 @@ msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works 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" +#, 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 #, 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" +#, 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 #, 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 #, c-format @@ -6775,10 +6720,9 @@ 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" +#, c-format msgid "MERGE not supported in COPY" -msgstr "«EEEE» no está soportado en la entrada" +msgstr "MERGE no está soportado en COPY" #: commands/copy.c:383 #, c-format @@ -6786,10 +6730,9 @@ 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" +#, 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:451 #, c-format @@ -6807,7 +6750,7 @@ msgstr "el argumento de la opción «%s» debe ser una lista de nombres de colum 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:573 commands/dbcommands.c:859 commands/dbcommands.c:2318 #, c-format msgid "option \"%s\" not recognized" msgstr "no se reconoce la opción «%s»" @@ -6823,10 +6766,9 @@ 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" +#, 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 #, c-format @@ -6844,10 +6786,9 @@ 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" +#, 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 #, c-format @@ -6855,10 +6796,9 @@ 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" +#, 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 #, c-format @@ -6926,27 +6866,24 @@ 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 -#, fuzzy, c-format -#| msgid "COPY force null only available using COPY FROM" +#, 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" +#, 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" +#, 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 #, 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 #, c-format @@ -6958,18 +6895,18 @@ msgstr "la columna «%s» es una columna generada" 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 +#: commands/copy.c:842 commands/indexcmds.c:1886 commands/statscmds.c:242 +#: commands/tablecmds.c:2402 commands/tablecmds.c:3124 +#: commands/tablecmds.c:3635 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 "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:849 commands/tablecmds.c:2428 commands/trigger.c:958 +#: parser/parse_target.c:1084 parser/parse_target.c:1095 #, c-format msgid "column \"%s\" specified more than once" msgstr "la columna «%s» fue especificada más de una vez" @@ -6977,32 +6914,32 @@ msgstr "la columna «%s» fue especificada más de una vez" #: commands/copyfrom.c:122 #, c-format msgid "COPY %s" -msgstr "" +msgstr "COPY %s" #: commands/copyfrom.c:130 #, 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 #, c-format msgid "COPY %s, line %llu" -msgstr "" +msgstr "COPY %s, línea %llu" #: commands/copyfrom.c:147 #, c-format msgid "COPY %s, line %llu, column %s: \"%s\"" -msgstr "" +msgstr "COPY %s, línea %llu, columna %s: «%s»" #: commands/copyfrom.c:157 #, 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 #, c-format msgid "COPY %s, line %llu: \"%s\"" -msgstr "" +msgstr "COPY %s, línea %llu: «%s»" #: commands/copyfrom.c:673 #, c-format @@ -7044,32 +6981,37 @@ 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:1414 #, 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:1437 #, 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:1490 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»" + +#: commands/copyfrom.c:1690 #, 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:1703 commands/copyto.c:708 #, 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:1771 commands/copyto.c:306 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:1786 commands/copyto.c:311 #, c-format msgid "program \"%s\" failed" msgstr "el programa «%s» falló" @@ -7126,10 +7068,9 @@ 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 +7082,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:1512 +#: commands/copyfromparse.c:1768 #, c-format msgid "extra data after last expected column" msgstr "datos extra después de la última columna esperada" @@ -7162,84 +7103,82 @@ msgstr "se recibieron datos de copy después del marcador EOF" 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:1294 commands/copyfromparse.c:1311 #, 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:1295 commands/copyfromparse.c:1312 #, 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:1297 commands/copyfromparse.c:1314 #, 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:1298 commands/copyfromparse.c:1315 #, 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:1327 #, 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:1328 #, 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:1330 #, 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:1331 #, 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:1377 commands/copyfromparse.c:1413 #, 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:1386 commands/copyfromparse.c:1402 #, 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:1704 commands/copyfromparse.c:1919 +#, 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:1705 commands/copyfromparse.c:1920 +#, 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:1852 #, 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:1954 commands/copyfromparse.c:1973 #, c-format msgid "unexpected EOF in COPY data" msgstr "EOF inesperado en datos de COPY" -#: commands/copyfromparse.c:1965 +#: commands/copyfromparse.c:1963 #, c-format msgid "invalid field size" msgstr "el tamaño de campo no es válido" -#: commands/copyfromparse.c:1988 +#: commands/copyfromparse.c:1986 #, c-format msgid "incorrect binary data format" msgstr "el formato de datos binarios es incorrecto" @@ -7385,7 +7324,7 @@ msgstr "%s no es un nombre válido de codificación" 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/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300 #: commands/user.c:740 #, c-format msgid "invalid connection limit: %d" @@ -7401,311 +7340,323 @@ msgstr "se ha denegado el permiso para crear la base de datos" msgid "template database \"%s\" does not exist" msgstr "no existe la base de datos patrón «%s»" -#: commands/dbcommands.c:989 +#: commands/dbcommands.c:987 +#, 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:988 commands/dbcommands.c:2380 +#: utils/init/postinit.c:1100 +#, 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:999 #, 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:1016 +#, 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:1017 +#, 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:1043 #, 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:1049 #, 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" +#: commands/dbcommands.c:1050 commands/dbcommands.c:1056 +#, 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:1055 +#, c-format +msgid "invalid LC_CTYPE locale name: \"%s\"" +msgstr "nombre de configuración regional LC_CTYPE no válido: «%s»" + +#: commands/dbcommands.c:1066 +#, c-format msgid "encoding \"%s\" is not supported with ICU provider" -msgstr "la codificación «%s» no estæ soportada por ICU" +msgstr "la codificación «%s» no está soportada por ICU" -#: commands/dbcommands.c:1059 +#: commands/dbcommands.c:1076 #, c-format -msgid "ICU locale must be specified" -msgstr "el locale ICU debe ser especificado" +msgid "LOCALE or ICU_LOCALE must be specified" +msgstr "debe especificarse LOCALE o ICU_LOCALE" -#: commands/dbcommands.c:1088 +#: commands/dbcommands.c:1105 #, 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:1128 #, 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:1131 #, 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:1136 #, 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:1138 #, 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:1143 #, 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:1145 #, 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:1150 +#, 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:1152 +#, 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:1164 +#, 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:1166 +#, 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:1177 +#, 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:1179 +#, 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:1202 #, 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:1207 +#, 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:1209 +#, 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:1212 +#, 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:1248 commands/dbcommands.c:1980 #, 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:1274 #, 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:1276 #, 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:1306 commands/dbcommands.c:1853 #, c-format msgid "database \"%s\" already exists" msgstr "la base de datos «%s» ya existe" -#: commands/dbcommands.c:1303 +#: commands/dbcommands.c:1320 #, 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:1342 +#, 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:1348 #, 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:1520 commands/dbcommands.c:1535 #, 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:1523 #, 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:1538 #, 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:1619 #, 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:1643 #, 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:1649 #, 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:1662 #, 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:1664 #, 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:1678 #, 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:1680 #, 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:1701 commands/dbcommands.c:1875 +#: commands/dbcommands.c:2002 #, 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:1835 #, 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:1864 #, 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:1958 #, 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:2064 #, 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:2066 #, 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:2193 commands/dbcommands.c:2909 +#: commands/dbcommands.c:3209 commands/dbcommands.c:3322 #, 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:2254 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "opción de DROP DATABASE «%s» no reconocida" -#: commands/dbcommands.c:2299 +#: commands/dbcommands.c:2332 #, 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:2379 +#, c-format +msgid "cannot alter invalid database \"%s\"" +msgstr "no se puede alterar base de datos no válida «%s»" + +#: commands/dbcommands.c:2396 #, 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:2611 #, 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:3015 #, 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:3018 #, 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:3023 storage/ipc/procarray.c:3809 #, 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:3165 +#, 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/dbcommands.c:3223 commands/tablespace.c:190 #: commands/tablespace.c:639 #, c-format msgid "could not stat directory \"%s\": %m" @@ -7748,8 +7699,8 @@ msgstr "el argumento de %s debe ser un nombre de tipo" 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:101 commands/functioncmds.c:1388 +#: utils/adt/ruleutils.c:2895 #, c-format msgid "\"%s\" is an aggregate function" msgstr "«%s» es una función de agregación" @@ -7759,14 +7710,14 @@ msgstr "«%s» es una función de agregación" 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:158 commands/sequence.c:474 commands/tablecmds.c:3719 +#: commands/tablecmds.c:3877 commands/tablecmds.c:3929 +#: commands/tablecmds.c:16570 tcop/utility.c:1336 #, 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:188 commands/dropcmds.c:287 commands/tablecmds.c:1282 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "el esquema «%s» no existe, omitiendo" @@ -7999,12 +7950,11 @@ msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "la opción TIMING de EXPLAIN requiere ANALYZE" #: commands/explain.c:251 -#, fuzzy, c-format -#| msgid "options -d/--dbname and -f/--file cannot be used together" +#, 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:177 commands/extension.c:3033 #, c-format msgid "extension \"%s\" does not exist" msgstr "no existe la extensión «%s»" @@ -8062,16 +8012,14 @@ 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" +#, 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" +#, 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 #, c-format @@ -8089,7 +8037,7 @@ 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 +#: utils/misc/guc.c:3100 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "el parámetro «%s» requiere un valor lógico (booleano)" @@ -8149,129 +8097,137 @@ msgstr "Debe tener privilegio CREATE en la base de datos actual para actualizar msgid "Must be superuser to update this extension." msgstr "Debe ser superusuario para actualizar esta extensión." -#: commands/extension.c:1265 +#: commands/extension.c:1046 +#, 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:1070 commands/extension.c:1097 +#, 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:1292 #, 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:1500 commands/extension.c:3091 #, 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:1537 #, 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:1571 #, 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:1731 #, 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:1736 #, c-format msgid "installing required extension \"%s\"" msgstr "instalando la extensión requerida «%s»" -#: commands/extension.c:1732 +#: commands/extension.c:1759 #, 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:1762 #, 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:1797 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "la extensión «%s» ya existe, omitiendo" -#: commands/extension.c:1777 +#: commands/extension.c:1804 #, c-format msgid "extension \"%s\" already exists" msgstr "la extensión «%s» ya existe" -#: commands/extension.c:1788 +#: commands/extension.c:1815 #, 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:1979 #, 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:2454 #, 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:2466 #, 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:2471 #, 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:2817 #, 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:2858 commands/extension.c:2952 #, 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:2915 +#, 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:2917 +#, 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:2954 #, 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:3013 #, 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:3102 #, 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:3314 #, 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:3380 #, 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:3474 #, c-format msgid "file \"%s\" is too large" msgstr "el archivo «%s» es demasiado grande" @@ -8386,698 +8342,696 @@ 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:110 #, 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:115 #, 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:144 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:150 #, 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:151 #, c-format msgid "Creating a shell type definition." msgstr "Creando una definición de tipo inconclusa." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:250 #, 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:256 #, 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:261 #, 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:271 #, c-format msgid "type %s does not exist" msgstr "no existe el tipo %s" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:285 #, 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:289 #, c-format msgid "procedures cannot accept set arguments" msgstr "los procedimientos no pueden aceptar argumentos de conjunto" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:293 #, c-format msgid "functions cannot accept set arguments" msgstr "funciones no pueden aceptar argumentos de conjunto" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:303 #, 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:323 #, 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:348 #, 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:393 #, 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:411 #, 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:426 #, 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:450 #, 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:460 #, 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:602 commands/functioncmds.c:781 #, 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:698 #, 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:709 #, 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:830 commands/functioncmds.c:1433 #, c-format msgid "COST must be positive" msgstr "COST debe ser positivo" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:838 commands/functioncmds.c:1441 #, c-format msgid "ROWS must be positive" msgstr "ROWS debe ser positivo" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:867 #, 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:872 #, 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:877 #, 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:919 #, 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:945 commands/functioncmds.c:964 #, 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:992 #, 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:1097 #, c-format msgid "no language specified" msgstr "no se ha especificado el lenguaje" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 +#: commands/functioncmds.c:1105 commands/functioncmds.c:2106 #: commands/proclang.c:237 #, 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:1107 commands/functioncmds.c:2108 #, 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:1140 commands/functioncmds.c:1425 #, 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:1191 #, 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:1204 #, 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:1257 commands/functioncmds.c:1445 #, 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:1548 #, 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:1554 #, 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:1578 #, 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:1583 #, 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:1608 #, 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:1614 #, 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:1618 #, 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:1623 #, 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:1630 #, 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:1641 #, 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:1646 #, 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:1650 #, 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:1676 #, 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:1691 #, 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:1706 #, 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:1712 #, 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:1718 #, 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:1735 #, 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:1745 #, 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:1778 #, 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:1782 #, 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:1786 #, 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:1790 #, 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:1794 #, 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:1833 #, 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:1839 #, c-format msgid "data type %s is a domain" msgstr "tipo de dato «%s» es un dominio" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1879 #, 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:1905 #, 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:1932 #, 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:2018 #, 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:2042 #, 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:2093 #, c-format msgid "no inline code specified" msgstr "no se ha especificado código" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2139 #, 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:2234 #, 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:640 #, c-format msgid "must specify at least one column" msgstr "debe especificar al menos una columna" -#: commands/indexcmds.c:645 +#: commands/indexcmds.c:644 #, 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:687 +#, 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:713 #, 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 +#: commands/indexcmds.c:718 #, 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:728 #, 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:766 commands/tablecmds.c:785 commands/tablespace.c:1184 #, 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:798 commands/tablecmds.c:816 commands/tablecmds.c:3418 #, 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:831 #, 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:852 #, 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:857 #, 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:862 #, 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:867 #, 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:994 #, 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:1004 #, 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:1006 #, 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:1048 #, 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:1049 #, 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:1068 commands/indexcmds.c:1087 #, 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:1316 tcop/utility.c:1526 #, 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:1318 tcop/utility.c:1528 #, 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:1803 #, 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:1881 parser/parse_utilcmd.c:2529 +#: parser/parse_utilcmd.c:2664 #, 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:1905 parser/parse_utilcmd.c:1817 #, 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:1946 #, 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:1961 #, 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:1965 #, 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:1969 #, 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:1973 #, 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:2014 #, 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 +#: commands/indexcmds.c:2022 commands/tablecmds.c:17580 commands/typecmds.c:807 +#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3773 #: utils/adt/misc.c:586 #, 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:2087 #, c-format msgid "operator %s is not commutative" msgstr "el operador %s no es conmutativo" -#: commands/indexcmds.c:2097 +#: commands/indexcmds.c:2089 #, 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:2115 #, 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:2118 #, 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:2153 #, 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:2158 #, 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:2204 commands/tablecmds.c:17605 +#: commands/tablecmds.c:17611 commands/typecmds.c:2301 #, 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:2206 #, 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/indexcmds.c:2235 commands/indexcmds.c:2243 #: commands/opclasscmds.c:205 #, 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:2257 commands/typecmds.c:2289 #, 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:2347 #, 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:2675 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "opción de REINDEX «%s» no reconocida" -#: commands/indexcmds.c:2910 +#: commands/indexcmds.c:2899 #, 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:2913 #, 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:2958 commands/indexcmds.c:3468 +#: commands/indexcmds.c:3596 #, 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:2981 #, 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:3075 #, 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:3108 #, 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:3154 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "al reindexar tabla particionada «%s.%s»" -#: commands/indexcmds.c:3173 +#: commands/indexcmds.c:3157 #, 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:3348 commands/indexcmds.c:4204 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "la tabla «%s.%s» fue reindexada" -#: commands/indexcmds.c:3516 commands/indexcmds.c:3568 +#: commands/indexcmds.c:3500 commands/indexcmds.c:3552 #, 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:3522 +#: commands/indexcmds.c:3506 #, 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:3661 #, 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:3682 #, 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:4185 commands/indexcmds.c:4197 #, 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:4187 commands/indexcmds.c:4206 #, c-format msgid "%s." msgstr "%s." -#: commands/lockcmds.c:93 -#, fuzzy, c-format -#| msgid "cannot lock rows in relation \"%s\"" +#: commands/lockcmds.c:92 +#, 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:193 #, 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:199 gram.y:18306 #, 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:256 #, 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:259 #, 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:653 #, 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:655 #, c-format msgid "Row: %s" msgstr "Fila: %s" @@ -9355,10 +9309,10 @@ 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/tablecmds.c:1613 commands/tablecmds.c:2216 +#: commands/tablecmds.c:3529 commands/tablecmds.c:6411 +#: commands/tablecmds.c:9238 commands/tablecmds.c:17167 +#: commands/tablecmds.c:17202 commands/trigger.c:323 commands/trigger.c:1339 #: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 #: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 #, c-format @@ -9411,7 +9365,7 @@ 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:2896 utils/adt/xml.c:3066 #, c-format msgid "cursor \"%s\" does not exist" msgstr "no existe el cursor «%s»" @@ -9456,18 +9410,17 @@ msgstr "no existe la sentencia preparada «%s»" 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:131 postmaster/postmaster.c:1208 +#: postmaster/postmaster.c:1306 storage/file/fd.c:3911 +#: utils/init/miscinit.c:1822 #, 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\"" +#, 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 #, c-format @@ -9475,78 +9428,64 @@ 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" +#, 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." 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" 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 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" 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" 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" 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" +#, 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\"" +#, 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 #, 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\"" +#, 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 #, 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 #, 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 #, c-format @@ -9554,10 +9493,9 @@ 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" +#, 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 #, c-format @@ -9565,16 +9503,14 @@ 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." +#, c-format msgid "Set wal_level to \"logical\" before creating subscriptions." -msgstr "Cambie wal_level a logical o superior." +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" +#, 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 #, c-format @@ -9587,15 +9523,14 @@ msgid "The publication contains a column list for partitioned table \"%s\", whic 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" +#, 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 #, 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 #, c-format @@ -9608,10 +9543,9 @@ 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." +#, 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 #, c-format @@ -9625,22 +9559,19 @@ 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\"" +#, 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" +#, 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" +#, 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 #, c-format @@ -9653,10 +9584,9 @@ 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" +#, 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 #, c-format @@ -9669,10 +9599,9 @@ 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." +#, 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 #, c-format @@ -9715,147 +9644,140 @@ 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:761 #, 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:780 #, 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:898 #, 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:917 commands/sequence.c:923 #, 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:1003 +#, 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:1372 #, 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:1398 #, 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:1399 #, 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:1433 #, 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:1481 +#, 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:1513 +#, 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:1521 #, 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:1542 #, 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:1548 #, 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:1572 #, 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:1578 #, 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:1589 +#, 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:1625 #, c-format msgid "invalid OWNED BY option" msgstr "opción OWNED BY no válida" -#: commands/sequence.c:1619 +#: commands/sequence.c:1626 #, 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:1651 +#, 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:1659 #, 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:1663 #, 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:1685 #, 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:1686 commands/tablecmds.c:13991 +#: commands/tablecmds.c:16590 #, 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:109 commands/statscmds.c:118 tcop/utility.c:1887 #, 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\"" +#, 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 #, c-format @@ -9912,12 +9834,12 @@ msgstr "nombre de columna duplicado en definición de estadísticas" 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:619 commands/tablecmds.c:8233 #, 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:627 commands/tablecmds.c:8241 #, c-format msgid "lowering statistics target to %d" msgstr "bajando el valor de estadísticas a %d" @@ -9932,17 +9854,15 @@ msgstr "no existe el objeto de estadísticas «%s.%s», omitiendo" 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:327 replication/pgoutput/pgoutput.c:395 +#, 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\"" +#, 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 @@ -9959,32 +9879,29 @@ 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" +#, 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 editor (publisher): %s" #: commands/subscriptioncmds.c:526 -#, fuzzy, c-format -#| msgid "publication \"%s\" does not exist" +#, 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" +#, 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 #, 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 +#: replication/logical/tablesync.c:1334 replication/logical/worker.c:4616 #, c-format msgid "could not connect to the publisher: %s" msgstr "no se pudo connectar con el editor (publisher): %s" @@ -9995,18 +9912,17 @@ msgid "created replication slot \"%s\" on publisher" msgstr "se creó el slot de replicación «%s» en el editor (publisher)" #: commands/subscriptioncmds.c:828 -#, fuzzy, c-format -#| msgid "subscription has no replication slot set" +#, 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 #, 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:1096 commands/subscriptioncmds.c:1509 +#: commands/subscriptioncmds.c:1892 utils/cache/lsyscache.c:3642 #, c-format msgid "subscription \"%s\" does not exist" msgstr "no existe la suscripción «%s»" @@ -10016,154 +9932,140 @@ msgstr "no existe la suscripción «%s»" 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:1234 #, 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:1278 commands/subscriptioncmds.c:1329 #, 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:1279 #, 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:1288 commands/subscriptioncmds.c:1343 +#, 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:1289 +#, 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:1345 +#, 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:1367 #, 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:1392 +#, 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:1393 #, 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:1428 #, 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:1513 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "no existe la suscripción «%s», omitiendo" -#: commands/subscriptioncmds.c:1775 +#: commands/subscriptioncmds.c:1782 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "eliminando el slot de replicación «%s» en editor (publisher)" -#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792 +#: commands/subscriptioncmds.c:1791 commands/subscriptioncmds.c:1799 #, 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" -#: commands/subscriptioncmds.c:1917 +#: commands/subscriptioncmds.c:1924 #, 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:1995 commands/subscriptioncmds.c:2120 #, 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" -#: commands/subscriptioncmds.c:2024 +#: commands/subscriptioncmds.c:2031 #, 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:2033 +#, 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] "La suscripción que está siendo creada suscribe a una publicación (%s) que contiene tablas que son escritas por otras suscripciones." +msgstr[1] "La suscripción que está siendo creada suscribe a publicaciones (%s) que contienen tablas que son escritas por otras suscripciones." -#: commands/subscriptioncmds.c:2029 +#: commands/subscriptioncmds.c:2036 #, 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:2142 replication/logical/tablesync.c:893 +#: replication/pgoutput/pgoutput.c:1112 +#, 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:2192 #, 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" #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:2188 +#: commands/subscriptioncmds.c:2195 #, 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:2226 #, 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:2270 #, 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:2284 #, 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:2295 #, 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:2352 +#, 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 #, c-format @@ -10221,8 +10123,8 @@ msgstr "la vista materializada «%s» no existe, omitiendo" 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:270 commands/tablecmds.c:294 commands/tablecmds.c:19098 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "index \"%s\" does not exist" msgstr "no existe el índice «%s»" @@ -10245,8 +10147,8 @@ msgstr "«%s» no es un tipo" 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:282 commands/tablecmds.c:13830 +#: commands/tablecmds.c:16295 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "no existe la tabla foránea «%s»" @@ -10260,130 +10162,130 @@ msgstr "la tabla foránea «%s» no existe, omitiendo" 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:701 #, 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:732 #, 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:768 commands/tablecmds.c:15140 #, 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 +#: commands/tablecmds.c:952 #, 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:1045 #, c-format msgid "\"%s\" is not partitioned" msgstr "«%s» no está particionada" -#: commands/tablecmds.c:1142 +#: commands/tablecmds.c:1139 #, 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:1195 #, 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:1197 #, 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:1362 #, 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:1366 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE" -#: commands/tablecmds.c:1473 +#: commands/tablecmds.c:1470 #, 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:1758 #, 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:1759 #, 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:1832 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "truncando además la tabla «%s»" -#: commands/tablecmds.c:2199 +#: commands/tablecmds.c:2196 #, 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:2253 #, 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:2485 commands/tablecmds.c:15037 #, 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:2490 #, 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:2498 parser/parse_utilcmd.c:2491 +#: parser/parse_utilcmd.c:2633 #, 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:2510 #, 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:2519 commands/tablecmds.c:15016 #, 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:2529 commands/tablecmds.c:15024 #, 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:2582 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "mezclando múltiples definiciones heredadas de la columna «%s»" -#: commands/tablecmds.c:2597 +#: commands/tablecmds.c:2594 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "columna heredada «%s» tiene conflicto de tipos" -#: commands/tablecmds.c:2599 commands/tablecmds.c:2628 -#: commands/tablecmds.c:2647 commands/tablecmds.c:2919 -#: commands/tablecmds.c:2955 commands/tablecmds.c:2971 +#: commands/tablecmds.c:2596 commands/tablecmds.c:2625 +#: commands/tablecmds.c:2644 commands/tablecmds.c:2916 +#: commands/tablecmds.c:2952 commands/tablecmds.c:2968 #: 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 @@ -10394,1233 +10296,1219 @@ msgstr "columna heredada «%s» tiene conflicto de tipos" msgid "%s versus %s" msgstr "%s versus %s" -#: commands/tablecmds.c:2612 +#: commands/tablecmds.c:2609 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)" -#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 -#: commands/tablecmds.c:6849 +#: commands/tablecmds.c:2611 commands/tablecmds.c:2932 +#: commands/tablecmds.c:6894 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "«%s» versus «%s»" -#: commands/tablecmds.c:2626 +#: commands/tablecmds.c:2623 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento" -#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#: commands/tablecmds.c:2642 commands/tablecmds.c:2966 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "la columna «%s» tiene conflicto de método de compresión" -#: commands/tablecmds.c:2661 +#: commands/tablecmds.c:2658 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "columna heredada «%s» tiene conflicto de generación" -#: 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:2764 commands/tablecmds.c:2819 +#: commands/tablecmds.c:12523 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1745 +#: parser/parse_utilcmd.c:1853 #, c-format msgid "cannot convert whole-row table reference" msgstr "no se puede convertir una referencia a la fila completa (whole-row)" -#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 +#: commands/tablecmds.c:2765 parser/parse_utilcmd.c:1266 #, 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»." -#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 +#: commands/tablecmds.c:2820 parser/parse_utilcmd.c:1309 #, 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»." -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:2898 #, 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:2902 #, 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:2903 #, 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:2914 #, c-format msgid "column \"%s\" has a type conflict" msgstr "la columna «%s» tiene conflicto de tipos" -#: commands/tablecmds.c:2933 +#: commands/tablecmds.c:2930 #, 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:2950 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento" -#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 +#: commands/tablecmds.c:2996 commands/tablecmds.c:3083 #, 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" -#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 +#: commands/tablecmds.c:3001 commands/tablecmds.c:3088 #, 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" -#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#: commands/tablecmds.c:3009 commands/tablecmds.c:3096 #, 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." +#: commands/tablecmds.c:3011 commands/tablecmds.c:3098 +#, c-format 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." +msgstr "Una columna de tabla hija no puede ser generada a menos que su columna padre lo sea." -#: commands/tablecmds.c:3147 +#: commands/tablecmds.c:3144 #, 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." +#: commands/tablecmds.c:3146 +#, c-format msgid "To resolve the conflict, specify a generation expression explicitly." -msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión." +msgstr "Para resolver el conflicto, indique explícitamente una expresión de generación." -#: commands/tablecmds.c:3153 +#: commands/tablecmds.c:3150 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "la columna «%s» hereda valores por omisión no coincidentes" -#: commands/tablecmds.c:3155 +#: commands/tablecmds.c:3152 #, c-format 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:3205 +#: commands/tablecmds.c:3202 #, 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:3418 +#: commands/tablecmds.c:3427 #, 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:3497 #, 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:3516 +#, 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:3611 #, 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:3643 #, 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:3658 #, 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:3810 #, 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:3817 #, 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:4114 #, 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:4123 #, 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:4149 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "no se pueden alterar tablas temporales de otras sesiones" + +#: commands/tablecmds.c:4621 #, 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:4814 commands/tablecmds.c:4829 #, 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" +#: commands/tablecmds.c:4850 +#, c-format msgid "cannot change access method of a partitioned table" -msgstr "no se puede cambiar la herencia de una tabla particionada" +msgstr "no se puede cambiar el método de acceso de una tabla particionada" -#: commands/tablecmds.c:4816 -#, fuzzy, c-format -#| msgid "cannot have multiple SET TABLESPACE subcommands" +#: commands/tablecmds.c:4856 +#, 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:5577 #, 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:5583 #, 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:5595 #, 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:6090 #, 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:6107 #, 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:6126 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:6132 #, 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:6394 +#, 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:6649 commands/tablecmds.c:6656 #, 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:6663 #, 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:6670 #, 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:6726 #, 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:6728 #, 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:6774 #, 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:6801 #, 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:6857 #, 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:6886 commands/tablecmds.c:15267 #, 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:6892 commands/tablecmds.c:15274 #, 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:6910 #, 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:6957 #, 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:7208 #, 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:7286 #, 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:7293 #, 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:7359 commands/tablecmds.c:12161 #, 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:7360 commands/tablecmds.c:7677 +#: commands/tablecmds.c:8650 commands/tablecmds.c:12162 #, 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:7397 commands/tablecmds.c:7603 +#: commands/tablecmds.c:7745 commands/tablecmds.c:7863 +#: commands/tablecmds.c:7957 commands/tablecmds.c:8016 +#: commands/tablecmds.c:8135 commands/tablecmds.c:8274 +#: commands/tablecmds.c:8344 commands/tablecmds.c:8478 +#: commands/tablecmds.c:12316 commands/tablecmds.c:13853 +#: commands/tablecmds.c:16384 #, 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:7403 commands/tablecmds.c:7751 #, 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:7446 #, 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:7451 #, 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:7474 #, 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:7674 commands/tablecmds.c:9134 #, 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:7675 #, 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:7760 #, 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:7821 +#: commands/tablecmds.c:7874 #, 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:7880 #, 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:7886 #, 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:7963 commands/tablecmds.c:8024 #, 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:8029 #, 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:8082 #, 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:8104 #, 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:8143 #, 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:8148 #, 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:8221 #, 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:8264 #, 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:8283 #, 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:8288 #, 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:8290 #, 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:8525 #, 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:8588 #, 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:8601 #, 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:8611 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "no se puede eliminar la columna heredada «%s»" -#: commands/tablecmds.c:8567 +#: commands/tablecmds.c:8624 #, 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:8649 #, 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:8854 #, 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:8879 #, 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:9216 #, 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:9222 #, 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:9225 #, 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:9232 commands/tablecmds.c:9688 #, 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:9255 #, 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:9262 #, 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:9268 #, 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:9272 #, 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:9336 commands/tablecmds.c:9342 #, 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:9358 #, 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:9465 #, 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:9467 #, 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:9624 #, 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:9898 commands/tablecmds.c:10368 +#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:923 #, 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:10921 commands/tablecmds.c:11202 +#: commands/tablecmds.c:12118 commands/tablecmds.c:12193 #, 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:10928 #, 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:10966 #, 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:10969 #, 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:10971 #, 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:11210 #, 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:11287 #, 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:11374 #, 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:11380 +#, 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:11384 #, 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:11449 #, 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:11466 #, 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:11534 #, 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:11626 #, 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:11631 #, 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:12074 #, 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:12124 #, 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:12300 #, 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:12327 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "no se puede alterar la columna heredada «%s»" -#: commands/tablecmds.c:12269 +#: commands/tablecmds.c:12336 #, 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:12386 #, 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:12389 #, 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:12393 #, 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:12396 #, 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:12495 #, 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:12524 #, 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:12535 #, 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:12660 #, 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:12698 #, 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:12703 #, 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:12791 #, 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:12792 commands/tablecmds.c:12806 +#: commands/tablecmds.c:12825 commands/tablecmds.c:12843 +#: commands/tablecmds.c:12901 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s depende de la columna «%s»" -#: commands/tablecmds.c:12736 +#: commands/tablecmds.c:12805 +#, 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:12824 #, 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:12842 #, 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:12873 #, 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:12874 #, 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:12900 +#, 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:13961 commands/tablecmds.c:13973 #, 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:13963 commands/tablecmds.c:13975 #, 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:13989 #, 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:14014 #, 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:14376 #, 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:14453 +#, 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:14487 commands/view.c:445 #, 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:14737 #, 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:14749 #, 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:14841 #, 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:14857 #, 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:14975 #, 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:14980 commands/tablecmds.c:15498 #, 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:14985 #, 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:15031 #, 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:15044 #, 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:15066 commands/tablecmds.c:17924 #, 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:15067 commands/tablecmds.c:17925 #, 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:15080 #, 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:15082 #, 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:15285 #, 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:15294 #, 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:15299 +#, 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:15330 #, c-format msgid "child table is missing column \"%s\"" msgstr "tabla hija no tiene la columna «%s»" -#: commands/tablecmds.c:15316 +#: commands/tablecmds.c:15418 #, 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:15426 #, 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:15437 #, 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:15476 #, 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:15562 #, 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:15591 commands/tablecmds.c:15639 #, 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:15645 #, 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:15873 #, c-format msgid "typed tables cannot inherit" msgstr "las tablas tipadas no pueden heredar" -#: commands/tablecmds.c:15801 +#: commands/tablecmds.c:15903 #, c-format msgid "table is missing column \"%s\"" msgstr "la tabla no tiene la columna «%s»" -#: commands/tablecmds.c:15812 +#: commands/tablecmds.c:15914 #, 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:15923 #, 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:15937 #, c-format msgid "table has extra column \"%s\"" msgstr "tabla tiene la columna extra «%s»" -#: commands/tablecmds.c:15887 +#: commands/tablecmds.c:15989 #, c-format msgid "\"%s\" is not a typed table" msgstr "«%s» no es una tabla tipada" -#: commands/tablecmds.c:16061 +#: commands/tablecmds.c:16163 #, 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:16169 #, 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:16175 #, 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:16181 #, 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:16198 #, 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:16205 #, 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:16450 #, 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:16474 #, 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:16476 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Las tablas «unlogged» no pueden replicarse." -#: commands/tablecmds.c:16419 +#: commands/tablecmds.c:16521 #, 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:16531 #, 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:16589 #, 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:16691 #, 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:17111 #, 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:17261 #, 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:17291 +#, 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:17293 commands/tablecmds.c:17307 +#, 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:17297 +#, 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:17305 +#, 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:17337 #, 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:17403 #, 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:17411 #, 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:17422 commands/tablecmds.c:17512 #, 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 -#: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969 +#: commands/tablecmds.c:17423 commands/tablecmds.c:17513 commands/trigger.c:663 +#: rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971 #, 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:17495 #, 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:17542 +#, 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:17551 #, 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:17572 #, 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:17607 #, 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:17613 #, 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:17864 #, c-format msgid "\"%s\" is already a partition" msgstr "«%s» ya es una partición" -#: commands/tablecmds.c:17787 +#: commands/tablecmds.c:17870 #, 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:17886 #, 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:17900 #, 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:17934 #, 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:17942 #, 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:17950 #, 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:17957 #, 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:17977 #, 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:17980 #, 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:17992 #, 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:17994 #, 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:18173 #, 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:18176 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "La tabla particionada «%s» contiene índices únicos." -#: commands/tablecmds.c:18406 +#: commands/tablecmds.c:18493 #, 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:18602 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "la tabla particionada «%s» fue eliminada concurrentemente" -#: commands/tablecmds.c:18521 +#: commands/tablecmds.c:18608 #, 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:19132 commands/tablecmds.c:19152 +#: commands/tablecmds.c:19173 commands/tablecmds.c:19192 +#: commands/tablecmds.c:19234 #, 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:19135 #, 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:19155 #, 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:19176 #, c-format msgid "The index definitions do not match." msgstr "Las definiciones de los índices no coinciden." -#: commands/tablecmds.c:19099 +#: commands/tablecmds.c:19195 #, 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:19237 #, 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:19473 #, 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:19480 #, c-format msgid "invalid compression method \"%s\"" msgstr "método de compresión «%s» no válido" -#: commands/tablecmds.c:19403 +#: commands/tablecmds.c:19506 #, c-format msgid "invalid storage type \"%s\"" msgstr "tipo de almacenamiento no válido «%s»" -#: commands/tablecmds.c:19413 +#: commands/tablecmds.c:19516 #, 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" @@ -11676,10 +11564,9 @@ 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" +#, 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 @@ -11764,10 +11651,9 @@ 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." +#, 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 #, c-format @@ -11800,10 +11686,9 @@ 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" +#, 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 #, c-format @@ -11936,10 +11821,9 @@ 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" +#, 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 #, c-format @@ -11952,22 +11836,19 @@ 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\"" +#, 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." +#, 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\"" +#, 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 #, c-format @@ -11980,7 +11861,7 @@ 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:3270 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "un trigger BEFORE STATEMENT no puede retornar un valor" @@ -11995,140 +11876,141 @@ msgstr "mover registros a otra partición durante un trigger BEFORE FOR EACH ROW 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:3347 executor/nodeModifyTable.c:2378 +#: executor/nodeModifyTable.c:2461 #, 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:3348 executor/nodeModifyTable.c:1543 +#: executor/nodeModifyTable.c:1617 executor/nodeModifyTable.c:2379 +#: executor/nodeModifyTable.c:2462 executor/nodeModifyTable.c:2999 +#: executor/nodeModifyTable.c:3126 #, 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:3389 executor/nodeLockRows.c:228 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:316 +#: executor/nodeModifyTable.c:1559 executor/nodeModifyTable.c:2396 +#: executor/nodeModifyTable.c:2604 #, 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:3397 executor/nodeModifyTable.c:1649 +#: executor/nodeModifyTable.c:2479 executor/nodeModifyTable.c:2628 +#: executor/nodeModifyTable.c:3017 #, 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:4608 #, 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:5789 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "la restricción «%s» no es postergable" -#: commands/trigger.c:5761 +#: commands/trigger.c:5812 #, 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»" @@ -12143,7 +12025,7 @@ msgstr "debe ser superusuario para crear un tipo base" 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:327 commands/typecmds.c:1450 commands/typecmds.c:4263 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "el atributo de tipo «%s» no es reconocido" @@ -12163,7 +12045,7 @@ msgstr "el tipo de elemento de array no puede ser %s" msgid "alignment \"%s\" not recognized" msgstr "el alineamiento «%s» no es reconocido" -#: commands/typecmds.c:450 commands/typecmds.c:4131 +#: commands/typecmds.c:450 commands/typecmds.c:4137 #, c-format msgid "storage \"%s\" not recognized" msgstr "el almacenamiento «%s» no es reconocido" @@ -12233,7 +12115,7 @@ msgstr "no se pueden poner restricciones de llave foránea a un dominio" 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:1317 utils/cache/typcache.c:2567 #, c-format msgid "%s is not an enum" msgstr "%s no es un enum" @@ -12413,8 +12295,8 @@ msgstr "la restricción «%s» en el dominio «%s» no es una restricción «che 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:3423 commands/typecmds.c:3622 commands/typecmds.c:3705 +#: commands/typecmds.c:3893 #, c-format msgid "%s is not a domain" msgstr "%s no es un dominio" @@ -12429,47 +12311,42 @@ msgstr "el dominio «%2$s» ya contiene una restricción llamada «%1$s»" 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:3634 commands/typecmds.c:3717 commands/typecmds.c:4010 #, 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:3644 commands/typecmds.c:3727 commands/typecmds.c:3925 #, 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:3646 commands/typecmds.c:3729 commands/typecmds.c:3927 #, 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:3995 #, 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:4165 #, 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:4258 #, 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:4276 #, 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:4297 commands/typecmds.c:4306 #, c-format msgid "%s is not a base type" msgstr "«%s» no es un tipo base" @@ -12488,26 +12365,26 @@ msgstr "se ha denegado el permiso para crear el rol" #: commands/user.c:320 #, 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 #, 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: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 #, 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:357 commands/user.c:1389 commands/user.c:1396 #, 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:378 commands/user.c:1411 #, c-format msgid "role \"%s\" already exists" msgstr "el rol «%s» ya existe" @@ -12523,63 +12400,59 @@ 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\"" 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" +#, 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 #, 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 #, 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 #, 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 #, 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 #, 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 #, c-format msgid "The bootstrap user must have the %s attribute." -msgstr "" +msgstr "El usuario “bootstrap” debe tener el atributo %s." #: commands/user.c:1076 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#, 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 #, 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:1101 commands/user.c:1172 commands/user.c:1178 #, c-format msgid "permission denied to drop role" msgstr "se ha denegado el permiso para eliminar el rol" @@ -12587,337 +12460,323 @@ msgstr "se ha denegado el permiso para eliminar el rol" #: commands/user.c:1102 #, 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:1126 #, 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/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: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 +#: 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 #, c-format msgid "role \"%s\" does not exist" msgstr "no existe el rol «%s»" -#: commands/user.c:1142 +#: commands/user.c:1141 #, 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:1154 commands/user.c:1158 #, c-format msgid "current user cannot be dropped" msgstr "el usuario activo no puede ser eliminado" -#: commands/user.c:1163 +#: commands/user.c:1162 #, 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:1173 #, 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:1179 #, 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:1300 #, 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:1374 #, 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:1378 #, 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:1422 commands/user.c:1432 #, 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:1423 #, 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:1433 #, 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:1455 #, 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:1519 gram.y:1260 #, 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:1524 +#, 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:1557 #, 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:1597 #, c-format msgid "permission denied to drop objects" msgstr "se ha denegado el permiso para eliminar objetos" -#: commands/user.c:1604 +#: commands/user.c:1598 #, 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:1626 commands/user.c:1637 #, c-format msgid "permission denied to reassign objects" msgstr "se ha denegado el permiso para reasignar objetos" -#: commands/user.c:1633 +#: commands/user.c:1627 #, 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:1638 #, 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:1734 #, 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:1747 #, 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:1787 commands/user.c:1813 +#, 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:1890 +#, 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:2025 +#, 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:2125 #, 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:2136 commands/user.c:2159 +#, 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:2138 #, 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:2143 commands/user.c:2166 +#, 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:2145 #, 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:2161 #, 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:2168 #, 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:2248 commands/user.c:2257 +#, 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:2250 #, 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:2259 +#, 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:2267 +#, 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:2269 #, 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:2492 utils/adt/acl.c:1309 #, c-format msgid "dependent privileges exist" msgstr "existen privilegios dependientes" -#: commands/user.c:2499 utils/adt/acl.c:1313 +#: commands/user.c:2493 utils/adt/acl.c:1310 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Use CASCADE para revocarlos también." -#: commands/vacuum.c:138 +#: commands/vacuum.c:137 #, 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:733 +#, 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:746 +#, 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:824 commands/vacuum.c:921 #, 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:829 #, 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:845 commands/vacuum.c:926 #, 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:850 #, 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:1161 #, 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:1162 commands/vacuum.c:1167 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -12926,43 +12785,46 @@ msgstr "" "Cierre transaciones abiertas pronto para impedir problemas por reciclaje de contadores.\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:1166 #, 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:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "algunas bases de datos no han tenido VACUUM en más de 2 mil millones de transacciones" -#: commands/vacuum.c:1898 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Puede haber sufrido ya problemas de pérdida de datos por reciclaje del contador de transacciones." -#: commands/vacuum.c:2063 +#: commands/vacuum.c:2082 #, 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 +#: commands/vacuum.c:2507 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas" -#: commands/vacuum.c:2507 +#: commands/vacuum.c:2526 #, 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:2530 #, 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 #, c-format @@ -13124,10 +12986,9 @@ 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" +#, 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 #, c-format @@ -13185,42 +13046,42 @@ 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:2498 #, 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:2510 #, 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/execExprInterp.c:4234 executor/execExprInterp.c:4251 +#: executor/execExprInterp.c:4350 executor/nodeModifyTable.c:205 +#: executor/nodeModifyTable.c:216 executor/nodeModifyTable.c:233 +#: executor/nodeModifyTable.c:241 #, 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:638 executor/nodeModifyTable.c:206 #, 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:645 executor/nodeModifyTable.c:234 #, 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:651 executor/execExprInterp.c:4252 +#: executor/nodeModifyTable.c:217 #, 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:1099 parser/parse_agg.c:838 #, c-format msgid "window function calls cannot be nested" msgstr "no se pueden anidar llamadas a funciones de ventana deslizante" @@ -13235,7 +13096,7 @@ msgstr "el tipo de destino no es un array" 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 +#: executor/execExpr.c:2574 executor/execSRF.c:719 parser/parse_func.c:138 #: parser/parse_func.c:655 parser/parse_func.c:1032 #, c-format msgid "cannot pass more than %d argument to a function" @@ -13243,18 +13104,18 @@ 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 +#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1068 #: utils/adt/jsonfuncs.c:3780 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:3007 parser/parse_node.c:277 parser/parse_node.c:327 #, 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:3135 executor/execExpr.c:3157 #, c-format msgid "type %s does not support subscripted assignment" msgstr "el tipo %s no soporta asignación subindexada" @@ -13269,82 +13130,85 @@ msgstr "El atributo %d de tipo %s ha sido eliminado" 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:1970 executor/execExprInterp.c:3104 +#: executor/execExprInterp.c:3150 #, 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: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:569 #, c-format msgid "type %s is not composite" msgstr "el tipo %s no es compuesto" -#: executor/execExprInterp.c:2587 +#: executor/execExprInterp.c:2588 #, 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:2801 #, c-format msgid "cannot merge incompatible arrays" msgstr "no se puede mezclar arrays incompatibles" -#: executor/execExprInterp.c:2801 +#: executor/execExprInterp.c:2802 #, 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:2823 utils/adt/arrayfuncs.c:266 +#: utils/adt/arrayfuncs.c:576 utils/adt/arrayfuncs.c:1330 +#: utils/adt/arrayfuncs.c:3539 utils/adt/arrayfuncs.c:5623 +#: utils/adt/arrayfuncs.c:6140 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:2843 executor/execExprInterp.c:2878 #, 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: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:2931 utils/adt/arrayfuncs.c:2985 +#: utils/adt/arrayfuncs.c:3000 utils/adt/arrayfuncs.c:3341 +#: utils/adt/arrayfuncs.c:3569 utils/adt/arrayfuncs.c:6232 +#: utils/adt/arrayfuncs.c:6573 utils/adt/arrayutils.c:98 +#: utils/adt/arrayutils.c:107 utils/adt/arrayutils.c:114 #, 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:3103 executor/execExprInterp.c:3149 #, 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:3735 utils/adt/domains.c:155 #, 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:3750 utils/adt/domains.c:193 #, 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:4235 #, 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:4351 executor/execSRF.c:978 #, 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." @@ -13384,177 +13248,175 @@ msgstr "La llave %s está en conflicto con la llave existente %s." msgid "Key conflicts with existing key." msgstr "La llave está en conflicto con una llave existente." -#: executor/execMain.c:1030 +#: executor/execMain.c:1039 #, c-format msgid "cannot change sequence \"%s\"" msgstr "no se puede cambiar la secuencia «%s»" -#: executor/execMain.c:1036 +#: executor/execMain.c:1045 #, 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 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3083 +#: rewrite/rewriteHandler.c:3973 #, 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 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3086 +#: rewrite/rewriteHandler.c:3976 #, 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 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3091 +#: rewrite/rewriteHandler.c:3981 #, 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 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3094 +#: rewrite/rewriteHandler.c:3984 #, 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 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3099 +#: rewrite/rewriteHandler.c:3989 #, 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 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3102 +#: rewrite/rewriteHandler.c:3992 #, 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:1092 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "no se puede cambiar la vista materializada «%s»" -#: executor/execMain.c:1095 +#: executor/execMain.c:1104 #, 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:1110 #, 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:1117 #, 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:1123 #, 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:1130 #, 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:1136 #, 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:1147 #, c-format msgid "cannot change relation \"%s\"" msgstr "no se puede cambiar la relación «%s»" -#: executor/execMain.c:1165 +#: executor/execMain.c:1174 #, 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:1181 #, 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:1188 #, 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:1196 #, 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:1205 executor/execMain.c:2708 #: 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:1211 #, 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:1922 #, 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:1924 executor/execMain.c:2008 executor/execMain.c:2059 +#: executor/execMain.c:2169 #, c-format msgid "Failing row contains %s." msgstr "La fila que falla contiene %s." -#: executor/execMain.c:1996 +#: executor/execMain.c:2005 #, 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:2057 #, 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:2167 #, 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:2177 #, 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:2182 #, 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:2190 +#, 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:2195 +#, 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:2202 #, 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:2207 #, 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»" @@ -13569,73 +13431,71 @@ msgstr "no se encontró una partición de «%s» para el registro" 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:231 executor/execReplication.c:415 #, 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:235 executor/execReplication.c:419 #, c-format msgid "concurrent update, retrying" msgstr "actualización simultánea, reintentando" -#: executor/execReplication.c:250 executor/execReplication.c:434 +#: executor/execReplication.c:241 executor/execReplication.c:425 #, c-format msgid "concurrent delete, retrying" msgstr "eliminacón concurrente, reintentando" -#: executor/execReplication.c:320 parser/parse_cte.c:308 +#: 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:3832 -#: utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397 +#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3888 +#: utils/adt/arrayfuncs.c:4443 utils/adt/arrayfuncs.c:6453 #: utils/adt/rowtypes.c:1230 #, 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:642 executor/execReplication.c:648 +#, 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:644 executor/execReplication.c:656 #, 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:650 executor/execReplication.c:662 #, 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:654 executor/execReplication.c:660 +#, 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:680 #, 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:682 #, 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:686 #, 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:688 #, 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:704 #, 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" @@ -13703,76 +13563,76 @@ 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:1742 executor/spi.c:2648 #, 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:1711 executor/functions.c:1749 +#: executor/functions.c:1763 executor/functions.c:1858 +#: executor/functions.c:1891 executor/functions.c:1905 #, 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:1713 #, 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." -#: executor/functions.c:1734 +#: executor/functions.c:1751 #, 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:1765 #, c-format msgid "Actual return type is %s." msgstr "El verdadero tipo de retorno es %s." -#: executor/functions.c:1838 +#: executor/functions.c:1860 #, c-format msgid "Final statement returns too many columns." msgstr "La sentencia final retorna demasiadas columnas." -#: executor/functions.c:1871 +#: executor/functions.c:1893 #, 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:1907 #, c-format msgid "Final statement returns too few columns." msgstr "La sentencia final retorna muy pocas columnas." -#: executor/functions.c:1913 +#: executor/functions.c:1935 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "el tipo de retorno %s no es soportado en funciones SQL" @@ -13782,7 +13642,7 @@ msgstr "el tipo de retorno %s no es soportado en funciones SQL" 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:3967 parser/parse_agg.c:680 parser/parse_agg.c:708 #, c-format msgid "aggregate function calls cannot be nested" msgstr "no se pueden anidar llamadas a funciones de agregación" @@ -13792,12 +13652,12 @@ msgstr "no se pueden anidar llamadas a funciones de agregación" 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:1144 executor/nodeHashjoin.c:1174 #, 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:240 #, 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" @@ -13812,79 +13672,77 @@ msgstr "OFFSET no debe ser negativo" msgid "LIMIT must not be negative" msgstr "LIMIT no debe ser negativo" -#: executor/nodeMergejoin.c:1579 +#: executor/nodeMergejoin.c:1580 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "RIGHT JOIN sólo está soportado con condiciones que se pueden usar con merge join" -#: executor/nodeMergejoin.c:1597 +#: executor/nodeMergejoin.c:1598 #, c-format 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:242 #, 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:1542 executor/nodeModifyTable.c:1616 #, 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:1771 #, c-format msgid "invalid ON UPDATE specification" msgstr "especificación ON UPDATE no válida" -#: executor/nodeModifyTable.c:1759 +#: executor/nodeModifyTable.c:1772 #, 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:2231 #, 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:2232 #, 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:2235 +#, 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:2582 executor/nodeModifyTable.c:3005 +#: executor/nodeModifyTable.c:3132 #, 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:2584 #, 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:2998 executor/nodeModifyTable.c:3125 +#, 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:3007 executor/nodeModifyTable.c:3134 #, 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" +#: executor/nodeModifyTable.c:3089 +#, c-format 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" +msgstr "la tupla a ser borrada ya fue movido a otra partición por un update concurrente" #: executor/nodeSamplescan.c:260 #, c-format @@ -14003,33 +13861,33 @@ msgstr "no se puede abrir consulta %s como cursor" 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:1717 parser/analyze.c:2923 #, 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:2487 #, 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:2561 #, c-format msgid "%s query does not return tuples" msgstr "la consulta «%s» no retorna tuplas" -#: executor/spi.c:2963 +#: executor/spi.c:2975 #, c-format msgid "SQL expression \"%s\"" msgstr "expresión SQL «%s»" -#: executor/spi.c:2968 +#: executor/spi.c:2980 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "asignación PL/pgSQL «%s»" -#: executor/spi.c:2971 +#: executor/spi.c:2983 #, c-format msgid "SQL statement \"%s\"" msgstr "sentencia SQL: «%s»" @@ -14044,30 +13902,23 @@ msgstr "no se pudo enviar la tupla a la cola en memoria compartida" msgid "user mapping not found for \"%s\"" msgstr "no se encontró un mapeo para el usuario «%s»" -#: foreign/foreign.c:647 storage/file/fd.c:3881 +#: foreign/foreign.c:647 storage/file/fd.c:3931 #, 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\"." +#, c-format msgid "Perhaps you meant the option \"%s\"." -msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»." +msgstr "Quizás se refiere a la opción «%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." - -#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415 #, 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:715 utils/mmgr/dsa.c:737 +#: utils/mmgr/dsa.c:818 #, c-format msgid "Failed on DSA request of size %zu." msgstr "Falla en petición DSA de tamaño %zu." @@ -14298,10 +14149,9 @@ 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" +#, 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 #, c-format @@ -14404,381 +14254,379 @@ msgstr "el tamaño del paquete de contraseña no es válido" msgid "empty password returned by client" msgstr "el cliente retornó una contraseña vacía" -#: libpq/auth.c:879 libpq/hba.c:1749 +#: libpq/auth.c:877 libpq/hba.c:1727 #, 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:883 #, 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:934 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:973 #, 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:1039 msgid "accepting GSS security context failed" msgstr "falló la aceptación del contexto de seguridad GSS" -#: libpq/auth.c:1082 +#: libpq/auth.c:1080 msgid "retrieving GSS user name failed" msgstr "falló la obtención del nombre de usuario GSS" -#: libpq/auth.c:1228 +#: libpq/auth.c:1226 msgid "could not acquire SSPI credentials" msgstr "no se pudo obtener las credenciales SSPI" -#: libpq/auth.c:1253 +#: libpq/auth.c:1251 #, 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:1329 msgid "could not accept SSPI security context" msgstr "no se pudo aceptar un contexto SSPI" -#: libpq/auth.c:1372 +#: libpq/auth.c:1370 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:1506 libpq/auth.c:1525 #, c-format msgid "could not translate name" msgstr "no se pudo traducir el nombre" -#: libpq/auth.c:1540 +#: libpq/auth.c:1538 #, c-format msgid "realm name too long" msgstr "nombre de «realm» demasiado largo" -#: libpq/auth.c:1555 +#: libpq/auth.c:1553 #, c-format msgid "translated account name too long" msgstr "nombre de cuenta traducido demasiado largo" -#: libpq/auth.c:1734 +#: libpq/auth.c:1732 #, 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:1747 #, 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:1759 #, 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:1781 #, 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:1798 #, 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:1808 #, 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:1861 #, 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:1865 #, c-format msgid "could not get peer credentials: %m" msgstr "no se pudo recibir credenciales: %m" -#: libpq/auth.c:1879 +#: libpq/auth.c:1877 #, 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:1979 #, 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:1990 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "conversación PAM no soportada: %d/«%s»" -#: libpq/auth.c:2049 +#: libpq/auth.c:2047 #, c-format msgid "could not create PAM authenticator: %s" msgstr "no se pudo crear autenticador PAM: %s" -#: libpq/auth.c:2060 +#: libpq/auth.c:2058 #, 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:2090 #, 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:2102 #, 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:2115 #, c-format msgid "pam_authenticate failed: %s" msgstr "pam_authenticate falló: %s" -#: libpq/auth.c:2130 +#: libpq/auth.c:2128 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt falló: %s" -#: libpq/auth.c:2141 +#: libpq/auth.c:2139 #, c-format msgid "could not release PAM authenticator: %s" msgstr "no se pudo liberar autenticador PAM: %s" -#: libpq/auth.c:2221 +#: libpq/auth.c:2219 #, 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:2256 #, 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:2264 #, 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:2266 #, 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:2318 #, c-format msgid "could not initialize LDAP: %s" msgstr "no se pudo inicializar LDAP: %s" -#: libpq/auth.c:2330 +#: libpq/auth.c:2328 #, 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:2336 #, c-format msgid "could not initialize LDAP: %m" msgstr "no se pudo inicializar LDAP: %m" -#: libpq/auth.c:2348 +#: libpq/auth.c:2346 #, 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:2362 #, 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:2439 #, 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:2446 #, c-format msgid "LDAP server not specified" msgstr "servidor LDAP no especificado" -#: libpq/auth.c:2510 +#: libpq/auth.c:2508 #, 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:2525 #, 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:2555 #, 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:2571 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "no existe el usuario LDAP «%s»" -#: libpq/auth.c:2574 +#: libpq/auth.c:2572 #, 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:2576 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "el usuario LDAP «%s» no es única" -#: libpq/auth.c:2579 +#: libpq/auth.c:2577 #, 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:2597 #, 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 +#: libpq/auth.c:2618 #, 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:2649 #, 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:2681 #, c-format msgid "LDAP diagnostics: %s" msgstr "Diagnóstico LDAP: %s" -#: libpq/auth.c:2721 +#: libpq/auth.c:2719 #, 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:2740 #, 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:2763 #, 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:2768 #, 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:2870 #, c-format msgid "RADIUS server not specified" msgstr "servidor RADIUS no especificado" -#: libpq/auth.c:2879 +#: libpq/auth.c:2877 #, c-format msgid "RADIUS secret not specified" msgstr "secreto RADIUS no especificado" -#: libpq/auth.c:2893 +#: libpq/auth.c:2891 #, 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:2993 libpq/hba.c:2369 #, 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:3007 #, 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:3044 +#, 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:3071 #, 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:3087 #, 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:3097 #, 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:3131 libpq/auth.c:3157 #, 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:3150 #, 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:3180 #, 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:3188 #, 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:3196 #, 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:3203 #, 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:3211 #, 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:3236 +#, 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:3246 #, 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:3264 #, 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»" @@ -14841,9 +14689,9 @@ msgstr "el tamaño de petición de lectura de objeto grande es muy grande" 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 +#: 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 "permiso denegado al objeto grande %u" @@ -14883,16 +14731,16 @@ msgstr "el archivo de la llave privada «%s» tiene acceso para el grupo u otros 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)" @@ -14975,167 +14823,166 @@ msgstr "no se pudo definir el rango de versión de protocolo SSL" 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:297 #, 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:317 #, 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:366 #, 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:374 #, 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:382 #, 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:440 #, 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:451 #, 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:459 #, 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:515 #, 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:519 libpq/be-secure-openssl.c:574 #, 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:558 #, 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:562 #, 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:579 libpq/be-secure-openssl.c:768 +#: libpq/be-secure-openssl.c:838 #, 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:625 #, 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:671 #, 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:757 libpq/be-secure-openssl.c:822 #, c-format msgid "SSL error: %s" msgstr "error de SSL: %s" -#: libpq/be-secure-openssl.c:976 +#: libpq/be-secure-openssl.c:999 #, 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:1011 #, 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:1021 #, 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:1030 #, 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:1039 #, 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:1175 +#, 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:1212 #, 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:1213 msgid "unknown" msgstr "desconocido" -#: libpq/be-secure-openssl.c:1281 +#: libpq/be-secure-openssl.c:1304 #, 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:1312 #, 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:1339 #, 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:1348 #, 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:1376 msgid "no SSL error reported" msgstr "código de error SSL no reportado" -#: libpq/be-secure-openssl.c:1357 +#: libpq/be-secure-openssl.c:1394 #, 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:1553 #, c-format msgid "could not create BIO" msgstr "no se pudo crear BIO" -#: libpq/be-secure-openssl.c:1526 +#: libpq/be-secure-openssl.c:1563 #, 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:1571 #, 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" @@ -15175,536 +15022,528 @@ msgstr "La contraseña no coincide para el usuario «%s»." 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:332 #, 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: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 #, 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:462 +#, 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:614 +#, 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:1221 #, 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:1248 #, 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:1268 #, 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:1292 +#, 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:1305 #, c-format msgid "multiple values in ident field" msgstr "múltiples valores en campo «ident»" -#: libpq/hba.c:1379 +#: libpq/hba.c:1357 #, 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:1358 #, 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:1385 #, 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:1386 #, c-format msgid "Set ssl = on in postgresql.conf." msgstr "Defina «ssl = on» en postgresql.conf." -#: libpq/hba.c:1416 +#: libpq/hba.c:1394 #, 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:1406 #, 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:1426 #, c-format msgid "invalid connection type \"%s\"" msgstr "tipo de conexión «%s» no válido" -#: libpq/hba.c:1462 +#: libpq/hba.c:1440 #, 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:1465 #, 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:1492 #, 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:1503 #, 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:1504 #, 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:1562 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "dirección IP «%s» no válida: %s" -#: libpq/hba.c:1604 +#: libpq/hba.c:1582 #, 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:1596 #, 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:1616 #, 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:1617 #, 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:1628 #, 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:1642 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "máscara IP «%s» no válida: %s" -#: libpq/hba.c:1684 +#: libpq/hba.c:1662 #, 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:1678 #, 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:1689 #, 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:1690 #, 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:1767 #, c-format msgid "invalid authentication method \"%s\"" msgstr "método de autentificación «%s» no válido" -#: libpq/hba.c:1802 +#: libpq/hba.c:1780 #, 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:1803 #, 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:1815 #, 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:1833 #, 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:1883 #, 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:1927 #, 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:1938 #, 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:1954 #, 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:1971 #, 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:1982 #, 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:1999 #, 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:2015 #, 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:2031 #, 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:2083 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi y cert" -#: libpq/hba.c:2114 +#: libpq/hba.c:2092 #, 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:2109 #, 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:2122 #, 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:2134 #, 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:2153 #, 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:2186 #, 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:2197 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "esquema de URL LDAP no soportado: %s" -#: libpq/hba.c:2243 +#: libpq/hba.c:2221 #, 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:2239 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "valor ldapscheme no válido: «%s»" -#: libpq/hba.c:2279 +#: libpq/hba.c:2257 #, 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:2303 libpq/hba.c:2310 msgid "gssapi and sspi" msgstr "gssapi y sspi" -#: libpq/hba.c:2341 libpq/hba.c:2350 +#: libpq/hba.c:2319 libpq/hba.c:2328 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:2372 +#: libpq/hba.c:2350 #, 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:2398 #, 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:2412 #, 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:2434 #, 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:2456 #, 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:2470 #, 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:2662 #, 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:2815 #, 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:2839 #, 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:2942 #, 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:2962 #, 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:196 #, 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:357 #, 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:377 #, 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:381 #, 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:408 #, 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:417 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:420 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:431 +#: libpq/pqcomm.c:427 #, 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:451 #, 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:477 libpq/pqcomm.c:495 #, 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:518 #, 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:522 #, 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:524 #, 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:553 #, 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:561 #, 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:566 #, 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:655 #, c-format msgid "group \"%s\" does not exist" msgstr "no existe el grupo «%s»" -#: libpq/pqcomm.c:669 +#: libpq/pqcomm.c:665 #, 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:676 #, 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:704 #, 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 +#: 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) falló: %m" -#: libpq/pqcomm.c:903 +#: libpq/pqcomm.c:899 #, 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:955 libpq/pqcomm.c:1056 #, 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:1161 tcop/postgres.c:4405 #, 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:1227 #, 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:1237 #, 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:1259 libpq/pqcomm.c:1272 #, c-format msgid "incomplete message from client" msgstr "mensaje incompleto del cliente" -#: libpq/pqcomm.c:1377 +#: libpq/pqcomm.c:1383 #, 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:1598 #, 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:1687 #, 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:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) no está soportado" @@ -15715,7 +15554,7 @@ 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/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1507 #: utils/adt/rowtypes.c:615 #, c-format msgid "insufficient data left in message" @@ -15802,10 +15641,9 @@ 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" +#, 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 #, c-format @@ -15871,7 +15709,7 @@ msgstr "" #: main/main.c:355 #, 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 #, c-format @@ -15889,10 +15727,9 @@ 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" +#, 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 #, c-format @@ -15953,10 +15790,9 @@ msgid " --boot selects bootstrapping mode (must be first argument)\ 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" +#, 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 #, c-format @@ -16034,16 +15870,15 @@ msgstr "ExtensibleNodeMethods «%s» no fue registrado" 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\"" +#: nodes/makefuncs.c:879 +#, c-format msgid "unrecognized JSON encoding: %s" -msgstr "no se reconoce la codificación: «%s»" +msgstr "no se reconoce la codificación JSON: %s" #: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 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 +#: 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" @@ -16063,58 +15898,57 @@ msgstr "portal sin nombre con parámetros: %s" 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:7111 parser/parse_merge.c:187 +#: parser/parse_merge.c:194 +#, 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:1408 #, 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:1361 parser/analyze.c:1772 parser/analyze.c:2029 +#: parser/analyze.c:3242 #, 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:2076 optimizer/plan/planner.c:4035 #, 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:2077 optimizer/plan/planner.c:4036 +#: optimizer/plan/planner.c:4676 optimizer/prep/prepunion.c:1053 #, 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:4675 #, c-format msgid "could not implement DISTINCT" msgstr "no se pudo implementar DISTINCT" -#: optimizer/plan/planner.c:6017 +#: optimizer/plan/planner.c:6014 #, 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:6015 #, 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:6019 #, 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:6020 #, 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." @@ -16135,7 +15969,7 @@ msgstr "Todos los tipos de dato de las columnas deben ser tipos de los que se pu msgid "could not implement %s" msgstr "no se pudo implementar %s" -#: optimizer/util/clauses.c:4869 +#: optimizer/util/clauses.c:4933 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "función SQL «%s», durante expansión en línea" @@ -16145,572 +15979,566 @@ msgstr "función SQL «%s», durante expansión en línea" 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:728 #, 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:745 #, 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:795 #, 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:905 #, 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:826 parser/analyze.c:1551 #, 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:1028 #, 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:1046 #, 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:1050 #, 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:1358 parser/analyze.c:1745 #, 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:1674 parser/analyze.c:3474 #, 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 +#: parser/analyze.c:2584 #, 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:2687 #, 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:2748 #, 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:2873 parser/analyze.c:2881 #, 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:2901 #, 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:2909 #, 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:2912 #, 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:2920 #, 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:2931 #, 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:2934 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Los cursores insensitivos deben ser READ ONLY." -#: parser/analyze.c:2979 +#: parser/analyze.c:3028 #, 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:3038 #, 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:3048 #, 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:3060 #, 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:3249 #, 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:3256 #, 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:3263 #, 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:3270 #, 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:3277 #, 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:3284 #, 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:3383 #, 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:3447 #, 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:3456 #, 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:3465 #, 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:3483 #, 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:3492 #, 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:3512 #, 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:209 parser/parse_oper.c:227 #, 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:211 #, 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:269 #, 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:372 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:374 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:386 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:388 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:393 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:395 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:403 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:405 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:422 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:424 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:429 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:431 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:436 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:438 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:451 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:453 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:479 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:481 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:488 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:490 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:495 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:497 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:502 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:504 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:509 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:511 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:516 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:518 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:523 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:525 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:530 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:532 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:537 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:539 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:544 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:546 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:552 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:554 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:560 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:562 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:568 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:570 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:597 parser/parse_clause.c:1956 #, 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:600 #, 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:701 #, 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:779 #, 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_agg.c:780 parser/parse_expr.c:1700 parser/parse_expr.c:2182 #: parser/parse_func.c:884 #, 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:785 #, 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:864 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:871 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:877 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:890 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:901 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:925 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:929 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:932 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:935 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:938 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:941 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:944 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:947 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:950 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:953 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:956 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:959 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:962 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:985 parser/parse_clause.c:1965 #, 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:1019 parser/parse_clause.c:2798 #, c-format msgid "window \"%s\" does not exist" msgstr "la ventana «%s» no existe" -#: parser/parse_agg.c:1096 +#: parser/parse_agg.c:1107 #, 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:1247 #, 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:1440 #, 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:1443 #, 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:1448 #, 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:1612 #, 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" @@ -16827,169 +16655,169 @@ msgstr "la columna común «%s» aparece más de una vez en la tabla derecha" 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:1901 #, 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:1926 #, 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:2091 #, 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:2119 #, 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:2141 #, 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:2580 #, 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:2786 #, c-format msgid "window \"%s\" is already defined" msgstr "la ventana «%s» ya está definida" -#: parser/parse_clause.c:2846 +#: parser/parse_clause.c:2847 #, 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:2859 #, 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:2889 parser/parse_clause.c:2895 #, 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:2897 #, 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:2917 #, 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:2940 #, 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:3011 #, 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:3012 #, 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:3044 #, 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:3045 #, 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:3111 parser/parse_clause.c:3143 #, 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:3221 #, 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:3227 #, 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:3306 #, 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:3307 #, 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:3318 #, 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:3326 #, 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:3457 #, 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:3459 #, 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:3770 #, 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:3776 #, 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:3779 #, 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:3784 #, 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:3787 #, 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:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 +#: parser/parse_target.c:999 #, c-format msgid "cannot cast type %s to %s" msgstr "no se puede convertir el tipo %s a %s" @@ -17048,19 +16876,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" @@ -17185,10 +17013,9 @@ 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" +#, c-format msgid "MERGE not supported in WITH query" -msgstr "«EEEE» no está soportado en la entrada" +msgstr "MERGE no está soportado en consultas WITH" #: parser/parse_cte.c:143 #, c-format @@ -17310,27 +17137,27 @@ msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen 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:917 #, 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:923 #, 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:929 #, 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:935 #, 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:1014 #, 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" @@ -17340,9 +17167,9 @@ msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de un 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: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 #, c-format msgid "column %s.%s does not exist" msgstr "no existe la columna %s.%s" @@ -17376,7 +17203,7 @@ 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_relation.c:915 parser/parse_target.c:1239 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "la referencia a la columna «%s» es ambigua" @@ -17466,7 +17293,7 @@ msgstr "no se puede usar una subconsulta en la condición WHERE de COPY FROM" 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:1851 parser/parse_expr.c:3626 #, c-format msgid "subquery must return only one column" msgstr "la subconsulta debe retornar sólo una columna" @@ -17497,10 +17324,9 @@ 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" +#, 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 #, c-format @@ -17562,64 +17388,60 @@ msgstr "Hay múltiples candidatos igualmente plausibles." 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:3239 #, 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 #, 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:3262 #, 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:3335 +#, 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:3348 #, 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:3353 +#, 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:3354 #, 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:3391 +#, 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:3711 parser/parse_func.c:865 +#: parser/parse_expr.c:3710 parser/parse_func.c:865 #, 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:3933 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" -msgstr "" +msgstr "no se puede usar la cláusula FORMAT ENCODING de JSON para tipos de entrada que no son bytea" -#: parser/parse_expr.c:3950 -#, fuzzy, c-format -#| msgid "cannot use subquery in index predicate" +#: parser/parse_expr.c:3953 +#, c-format msgid "cannot use type %s in IS JSON predicate" -msgstr "no se puede usar una subconsulta en un predicado de índice" +msgstr "no se puede tipo %s en predicado IS JSON" #: parser/parse_func.c:194 #, c-format @@ -17900,10 +17722,8 @@ 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" 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 msgid "set-returning functions are not allowed in check constraints" @@ -17958,28 +17778,26 @@ 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 -#, fuzzy, c-format -#| msgid "WHERE CURRENT OF is not supported for this table type" +#, 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:166 #, 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" +#: parser/parse_merge.c:196 +#, c-format msgid "MERGE is not supported for relations with rules." -msgstr "LIKE no está soportado para la creación de tablas foráneas" +msgstr "MERGE no está soportado para relaciones con reglas." -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:213 #, 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:215 #, 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." @@ -18075,13 +17893,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:3639 +#: parser/parse_relation.c:3648 #, 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:3650 #, 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,138 +17920,132 @@ 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:2388 #, 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." -#: parser/parse_relation.c:1833 +#: parser/parse_relation.c:1834 #, c-format msgid "a column definition list is redundant for a function with OUT parameters" msgstr "una lista de definición de columnas es redundante para una función con parámetros OUT" -#: parser/parse_relation.c:1839 +#: parser/parse_relation.c:1840 #, c-format msgid "a column definition list is redundant for a function returning a named composite type" msgstr "una lista de definición de columnas es redundante para una función que retorna un tipo compuesto especificado" -#: parser/parse_relation.c:1846 +#: parser/parse_relation.c:1847 #, c-format msgid "a column definition list is only allowed for functions returning \"record\"" msgstr "sólo se permite una lista de definición de columnas en funciones que retornan «record»" -#: parser/parse_relation.c:1857 +#: parser/parse_relation.c:1858 #, c-format 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" +#: parser/parse_relation.c:1895 +#, 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 +#: parser/parse_relation.c:1955 #, 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:1982 parser/parse_relation.c:2068 +#, 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:2098 +#, 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:2180 #, 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:2246 #, 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:2271 +#, 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:2361 #, 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:3641 #, 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:3653 #, 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:3659 #, 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:3699 +#, 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:3701 #, 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:3709 #, 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:3712 #, 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:3714 #, 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:3734 #, 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:3748 #, 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»." @@ -18268,17 +18080,17 @@ msgstr "no se puede asignar al campo «%s» de la columna «%s» porque su tipo 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:878 #, 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:888 #, 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:1328 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * sin especificar tablas no es válido" @@ -18298,8 +18110,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:395 +#: utils/cache/typcache.c:450 #, c-format msgid "type \"%s\" is only a shell" msgstr "el tipo «%s» está inconcluso" @@ -18319,336 +18131,330 @@ 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:263 #, 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:583 #, 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:662 parser/parse_utilcmd.c:674 +#: parser/parse_utilcmd.c:733 #, 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:686 #, 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:703 #, 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:707 #, 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:716 #, 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:746 #, 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:750 #, 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:768 parser/parse_utilcmd.c:883 #, 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:777 parser/parse_utilcmd.c:893 #, 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:822 #, 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:830 #, 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:838 #, 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:903 #, 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 +#: parser/parse_utilcmd.c:909 #, 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 +#: parser/parse_utilcmd.c:974 #, 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" +#: parser/parse_utilcmd.c:987 +#, 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:1746 parser/parse_utilcmd.c:1854 #, 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:2252 #, 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:2272 #, 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:2293 #, 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:2294 parser/parse_utilcmd.c:2301 +#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 #, 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:2300 #, c-format msgid "index \"%s\" contains expressions" msgstr "el índice «%s» contiene expresiones" -#: parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2307 #, c-format msgid "\"%s\" is a partial index" msgstr "«%s» es un índice parcial" -#: parser/parse_utilcmd.c:2303 +#: parser/parse_utilcmd.c:2319 #, 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:2320 #, 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:2384 #, 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:2541 #, 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:2547 #, 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:2881 #, 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:2953 #, 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:2996 #, 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:3056 #, 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:3128 #, 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:3146 parser/parse_utilcmd.c:3247 +#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 #, 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:3164 #, 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:3168 #, 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:3177 #, 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:3183 #, 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:3211 #, 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:3218 #, 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:3666 #, 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:3671 parser/parse_utilcmd.c:3686 #, 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:3681 #, 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:3694 parser/parse_utilcmd.c:3720 gram.y:5990 #, 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:3702 #, 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:3707 parser/parse_utilcmd.c:3733 #, 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:3728 #, 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:3921 #, 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 +#: parser/parse_utilcmd.c:3956 #, 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:3963 #, c-format msgid "table \"%s\" is not partitioned" msgstr "«la tabla %s» no está particionada" -#: parser/parse_utilcmd.c:3971 +#: parser/parse_utilcmd.c:3970 #, c-format msgid "index \"%s\" is not partitioned" msgstr "el índice «%s» no está particionado" -#: parser/parse_utilcmd.c:4011 +#: parser/parse_utilcmd.c:4010 #, 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:4027 #, 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:4033 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:4040 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:4053 #, 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:4106 #, 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:4112 #, 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:4116 #, 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:4230 #, 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:4279 #, 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:4286 #, 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:4329 #, 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 +18467,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:6505 scan.l:702 #, c-format msgid "invalid Unicode escape" msgstr "valor de escape Unicode no válido" @@ -18676,8 +18482,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:6530 scan.l:663 scan.l:679 +#: scan.l:695 #, c-format msgid "invalid Unicode surrogate pair" msgstr "par sustituto (surrogate) Unicode no válido" @@ -18821,12 +18627,12 @@ msgstr "las huge pages no están soportadas en esta plataforma" 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:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1358 #, 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:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1360 #, 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»." @@ -18976,47 +18782,47 @@ 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 +#: postmaster/autovacuum.c:418 #, 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:765 #, 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 +#: postmaster/autovacuum.c:1490 #, 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:2353 #, 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:2589 #, 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:2592 #, 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:2786 #, 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:3400 #, 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:3401 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Active la opción «track_counts»." @@ -19027,10 +18833,9 @@ msgid "inconsistent background worker state (max_worker_processes=%d, total_slot 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" +#, 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 #, c-format @@ -19106,7 +18911,7 @@ msgstr "Vea los mensajes recientes en el registro del servidor para obtener más #: postmaster/pgarch.c:416 #, c-format msgid "archive_mode enabled, yet archiving is not configured" -msgstr "" +msgstr "archive_mode está activo, y sin embargo el archivado no está configurado" #: postmaster/pgarch.c:438 #, c-format @@ -19126,12 +18931,12 @@ msgstr "el archivado del archivo de WAL «%s» falló demasiadas veces, se trata #: postmaster/pgarch.c:791 postmaster/pgarch.c:830 #, c-format msgid "both archive_command and archive_library set" -msgstr "" +msgstr "tanto archive_command como archive_library están definidos" #: postmaster/pgarch.c:792 postmaster/pgarch.c:831 #, c-format msgid "Only one of archive_command, archive_library may be set." -msgstr "" +msgstr "Sólo uno de archive_command y archive_library puede estar definido." #: postmaster/pgarch.c:809 #, c-format @@ -19141,7 +18946,7 @@ msgstr "reiniciando el proceso archivador porque el valor de «archive_library» #: postmaster/pgarch.c:846 #, 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 #, c-format @@ -19166,7 +18971,7 @@ msgstr "%s: argumento no válido: «%s»\n" #: postmaster/postmaster.c:923 #, c-format msgid "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n" -msgstr "" +msgstr "%s: superuser_reserved_connections (%d) más reserved_connections (%d) debe ser menor que max_connections (%d)\n" #: postmaster/postmaster.c:931 #, c-format @@ -19188,94 +18993,93 @@ msgstr "%s: las tablas de palabras clave de fecha no son válidas, arréglelas\n 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:1175 #, c-format msgid "ending log output to stderr" msgstr "terminando la salida de registro a stderr" -#: postmaster/postmaster.c:1165 +#: postmaster/postmaster.c:1176 #, 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:1187 #, c-format msgid "starting %s" msgstr "iniciando %s" -#: postmaster/postmaster.c:1236 +#: postmaster/postmaster.c:1239 #, 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:1245 #, 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:1277 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister() falló: código de error %ld" -#: postmaster/postmaster.c:1325 +#: postmaster/postmaster.c:1328 #, 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:1334 #, 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:1345 #, c-format msgid "no socket created for listening" msgstr "no se creó el socket de atención" -#: postmaster/postmaster.c:1373 +#: postmaster/postmaster.c:1376 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %s\n" msgstr "%s: no se pudo cambiar los permisos del archivo de PID externo «%s»: %s\n" -#: postmaster/postmaster.c:1377 +#: postmaster/postmaster.c:1380 #, c-format msgid "%s: could not write external PID file \"%s\": %s\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:1408 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:1434 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmaster se volvió multi-hilo durante la partida" -#: postmaster/postmaster.c:1432 +#: postmaster/postmaster.c:1435 #, 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:1536 #, 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:1543 #, 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:1566 utils/misc/tzparser.c:340 #, 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 +#: postmaster/postmaster.c:1593 #, c-format msgid "" "%s: could not find the database system\n" @@ -19287,460 +19091,460 @@ msgstr "" "pero no se pudo abrir el archivo «%s»: %s\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1887 +#: postmaster/postmaster.c:1890 #, c-format msgid "issuing %s to recalcitrant children" -msgstr "" +msgstr "enviando %s a hijos recalcitrantes" -#: postmaster/postmaster.c:1909 +#: postmaster/postmaster.c:1912 #, 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 +#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 #, c-format msgid "incomplete startup packet" msgstr "el paquete de inicio está incompleto" -#: postmaster/postmaster.c:1996 postmaster/postmaster.c:2029 +#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2032 #, c-format msgid "invalid length of startup packet" msgstr "el de paquete de inicio tiene largo incorrecto" -#: postmaster/postmaster.c:2058 +#: postmaster/postmaster.c:2061 #, 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 +#: postmaster/postmaster.c:2079 #, 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 +#: 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 "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 +#: postmaster/postmaster.c:2105 #, 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 +#: postmaster/postmaster.c:2123 #, 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 +#: postmaster/postmaster.c:2147 #, 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 +#: postmaster/postmaster.c:2214 #, 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 +#: postmaster/postmaster.c:2255 #, 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 +#: postmaster/postmaster.c:2272 #, 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 +#: postmaster/postmaster.c:2336 #, c-format msgid "the database system is starting up" msgstr "el sistema de base de datos está iniciándose" -#: postmaster/postmaster.c:2339 +#: postmaster/postmaster.c:2342 #, 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 +#: postmaster/postmaster.c:2343 #, 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 +#: postmaster/postmaster.c:2347 #, 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 +#: postmaster/postmaster.c:2348 #, c-format msgid "Hot standby mode is disabled." msgstr "El modo hot standby está desactivado." -#: postmaster/postmaster.c:2350 +#: postmaster/postmaster.c:2353 #, c-format msgid "the database system is shutting down" msgstr "el sistema de base de datos está apagándose" -#: postmaster/postmaster.c:2355 +#: postmaster/postmaster.c:2358 #, 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 +#: 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 "lo siento, ya tenemos demasiados clientes" -#: postmaster/postmaster.c:2447 +#: postmaster/postmaster.c:2450 #, 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:2462 #, 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:2729 #, 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:2753 postmaster/postmaster.c:2757 #, c-format msgid "%s was not reloaded" msgstr "%s no fue vuelto a cargar" -#: postmaster/postmaster.c:2764 +#: postmaster/postmaster.c:2767 #, 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:2857 #, c-format msgid "received smart shutdown request" msgstr "se recibió petición de apagado inteligente" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2898 #, c-format msgid "received fast shutdown request" msgstr "se recibió petición de apagado rápido" -#: postmaster/postmaster.c:2913 +#: postmaster/postmaster.c:2916 #, c-format msgid "aborting any active transactions" msgstr "abortando transacciones activas" -#: postmaster/postmaster.c:2937 +#: postmaster/postmaster.c:2940 #, c-format msgid "received immediate shutdown request" msgstr "se recibió petición de apagado inmediato" -#: postmaster/postmaster.c:3013 +#: postmaster/postmaster.c:3016 #, 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:3034 postmaster/postmaster.c:3070 msgid "startup process" msgstr "proceso de inicio" -#: postmaster/postmaster.c:3034 +#: postmaster/postmaster.c:3037 #, 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:3110 #, 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:3131 msgid "background writer process" msgstr "proceso background writer" -#: postmaster/postmaster.c:3175 +#: postmaster/postmaster.c:3178 msgid "checkpointer process" msgstr "proceso checkpointer" -#: postmaster/postmaster.c:3191 +#: postmaster/postmaster.c:3194 msgid "WAL writer process" msgstr "proceso escritor de WAL" -#: postmaster/postmaster.c:3206 +#: postmaster/postmaster.c:3209 msgid "WAL receiver process" msgstr "proceso receptor de WAL" -#: postmaster/postmaster.c:3221 +#: postmaster/postmaster.c:3224 msgid "autovacuum launcher process" msgstr "proceso lanzador de autovacuum" -#: postmaster/postmaster.c:3239 +#: postmaster/postmaster.c:3242 msgid "archiver process" msgstr "proceso de archivado" -#: postmaster/postmaster.c:3252 +#: postmaster/postmaster.c:3255 msgid "system logger process" msgstr "proceso de log" -#: postmaster/postmaster.c:3309 +#: postmaster/postmaster.c:3312 #, 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:3391 postmaster/postmaster.c:3411 +#: postmaster/postmaster.c:3418 postmaster/postmaster.c:3436 msgid "server process" msgstr "proceso de servidor" -#: postmaster/postmaster.c:3487 +#: postmaster/postmaster.c:3490 #, 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:3665 #, 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:3667 postmaster/postmaster.c:3679 +#: postmaster/postmaster.c:3689 postmaster/postmaster.c:3700 #, 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:3676 #, 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:3686 #, 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:3698 #, 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:3906 #, c-format msgid "abnormal database system shutdown" msgstr "apagado anormal del sistema de bases de datos" -#: postmaster/postmaster.c:3929 +#: postmaster/postmaster.c:3932 #, 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:3938 #, c-format 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:3950 #, 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:4144 postmaster/postmaster.c:5462 +#: postmaster/postmaster.c:5860 #, 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:4206 #, 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:4248 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:4354 #, c-format msgid "connection received: host=%s port=%s" msgstr "conexión recibida: host=%s port=%s" -#: postmaster/postmaster.c:4356 +#: postmaster/postmaster.c:4359 #, c-format msgid "connection received: host=%s" msgstr "conexión recibida: host=%s" -#: postmaster/postmaster.c:4593 +#: postmaster/postmaster.c:4596 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "no se pudo lanzar el proceso servidor «%s»: %m" -#: postmaster/postmaster.c:4651 +#: postmaster/postmaster.c:4654 #, 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/postmaster.c:4660 +#: postmaster/postmaster.c:4663 #, 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" -#: postmaster/postmaster.c:4687 +#: postmaster/postmaster.c:4690 #, c-format msgid "subprocess command line too long" msgstr "orden de subproceso demasiado larga" -#: postmaster/postmaster.c:4705 +#: postmaster/postmaster.c:4708 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "llamada a CreateProcess() falló: %m (código de error %lu)" -#: postmaster/postmaster.c:4732 +#: postmaster/postmaster.c:4735 #, 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/postmaster.c:4736 +#: postmaster/postmaster.c:4739 #, 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/postmaster.c:4758 +#: postmaster/postmaster.c:4761 #, 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 +#: postmaster/postmaster.c:4762 #, 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 +#: postmaster/postmaster.c:4935 #, 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 +#: postmaster/postmaster.c:5060 #, c-format msgid "Please report this to <%s>." msgstr "Por favor reporte esto a <%s>." -#: postmaster/postmaster.c:5125 +#: postmaster/postmaster.c:5128 #, 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 +#: postmaster/postmaster.c:5386 #, c-format msgid "could not fork startup process: %m" msgstr "no se pudo lanzar el proceso de inicio: %m" -#: postmaster/postmaster.c:5387 +#: postmaster/postmaster.c:5390 #, c-format msgid "could not fork archiver process: %m" msgstr "no se pudo lanzar el proceso de archivado: %m" -#: postmaster/postmaster.c:5391 +#: postmaster/postmaster.c:5394 #, c-format msgid "could not fork background writer process: %m" msgstr "no se pudo lanzar el background writer: %m" -#: postmaster/postmaster.c:5395 +#: postmaster/postmaster.c:5398 #, c-format msgid "could not fork checkpointer process: %m" msgstr "no se pudo lanzar el checkpointer: %m" -#: postmaster/postmaster.c:5399 +#: postmaster/postmaster.c:5402 #, 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 +#: postmaster/postmaster.c:5406 #, 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 +#: postmaster/postmaster.c:5410 #, c-format msgid "could not fork process: %m" msgstr "no se pudo lanzar el proceso: %m" -#: postmaster/postmaster.c:5608 postmaster/postmaster.c:5635 +#: postmaster/postmaster.c:5611 postmaster/postmaster.c:5638 #, 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 +#: postmaster/postmaster.c:5622 postmaster/postmaster.c:5649 #, c-format msgid "invalid processing mode in background worker" msgstr "modo de procesamiento no válido en proceso ayudante" -#: postmaster/postmaster.c:5731 +#: postmaster/postmaster.c:5734 #, c-format msgid "could not fork worker process: %m" msgstr "no se pudo lanzar el proceso ayudante: %m" -#: postmaster/postmaster.c:5843 +#: postmaster/postmaster.c:5846 #, c-format msgid "no slot available for new worker process" msgstr "no hay slot disponible para un nuevo proceso ayudante" -#: postmaster/postmaster.c:6174 +#: postmaster/postmaster.c:6177 #, 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/postmaster.c:6206 +#: postmaster/postmaster.c:6209 #, 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/postmaster.c:6235 +#: postmaster/postmaster.c:6238 #, 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" -#: postmaster/postmaster.c:6242 +#: postmaster/postmaster.c:6245 #, 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" -#: postmaster/postmaster.c:6251 +#: postmaster/postmaster.c:6254 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "no se pudo eliminar el archivo «%s»: %s\n" -#: postmaster/postmaster.c:6268 +#: postmaster/postmaster.c:6271 #, 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/postmaster.c:6277 +#: postmaster/postmaster.c:6280 #, 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/postmaster.c:6284 +#: postmaster/postmaster.c:6287 #, 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/postmaster.c:6443 +#: postmaster/postmaster.c:6446 #, c-format 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:6485 +#: postmaster/postmaster.c:6488 #, c-format msgid "could not post child completion status\n" msgstr "no se pudo publicar el estado de completitud del proceso hijo\n" @@ -19805,204 +19609,182 @@ msgstr "no se pudo determinar qué ordenamiento usar para la expresión regular" 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:245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:332 +#, 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:246 #, 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:247 #, 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:259 #, 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:305 #, 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:333 #, 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:360 #, 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:433 #, 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:449 +#: replication/libpqwalreceiver/libpqwalreceiver.c:692 #, 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:450 #, 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:535 +#: replication/libpqwalreceiver/libpqwalreceiver.c:542 +#: replication/libpqwalreceiver/libpqwalreceiver.c:572 #, 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:596 #, 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:619 #, 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:634 #, 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:644 #, 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:653 +#: replication/libpqwalreceiver/libpqwalreceiver.c:889 #, 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:680 #, 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:693 #, 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:852 +#: replication/libpqwalreceiver/libpqwalreceiver.c:905 +#: replication/libpqwalreceiver/libpqwalreceiver.c:912 #, 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:932 #, 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:1024 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "no se pudo create el slot de replicación «%s»: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1013 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1070 #, c-format msgid "invalid query response" msgstr "respuesta no válida a consulta" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1071 #, 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:1141 #, 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:1172 msgid "empty query" msgstr "consulta vacía" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1178 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" +#, c-format msgid "lost connection to the logical replication apply worker" -msgstr "se ha perdido la conexión al ayudante paralelo" - -#: 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" +msgstr "se ha perdido la conexión al ayudante paralelo “apply” de replicación" #: replication/logical/applyparallelworker.c:1027 #: replication/logical/applyparallelworker.c:1029 -#: replication/logical/worker.c:447 -#, fuzzy -#| msgid "lost connection to parallel worker" 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" +#, 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" +#, 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" +#, 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 #, 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" +#, c-format msgid "logical decoding on standby requires wal_level >= logical on the primary" -msgstr "la decodificación lógica requiere wal_level >= logical" +msgstr "la decodificación lógica en standby requiere wal_level >= logical en el primario" #: replication/logical/launcher.c:331 #, c-format @@ -20014,21 +19796,20 @@ msgstr "no se pueden iniciar procesos ayudantes de replicación cuando max_repli 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:425 replication/logical/launcher.c:499 +#: replication/slot.c:1297 storage/lmgr/lock.c:998 storage/lmgr/lock.c:1036 +#: storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4206 storage/lmgr/lock.c:4271 +#: storage/lmgr/lock.c:4621 storage/lmgr/predicate.c:2413 +#: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 #, 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 #, 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 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" @@ -20050,72 +19831,71 @@ msgstr "la decodificación lógica requiere wal_level >= logical" 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:366 replication/logical/logical.c:520 #, 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:371 replication/logical/logical.c:525 #, 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:378 #, 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:537 replication/logical/logical.c:544 #, 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:539 #, 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:546 +#, 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:611 #, 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:613 #, 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:761 #, 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:767 #, 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:938 replication/logical/logical.c:983 +#: replication/logical/logical.c:1028 replication/logical/logical.c:1074 #, 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:1306 replication/logical/logical.c:1355 +#: replication/logical/logical.c:1396 replication/logical/logical.c:1482 +#: replication/logical/logical.c:1531 #, 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:1441 #, 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" @@ -20167,22 +19947,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 @@ -20195,10 +19972,9 @@ 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 @@ -20206,19 +19982,17 @@ 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" +#, 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" +#, 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/slot.c:2120 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Aumente max_replication_slots y reintente." @@ -20240,10 +20014,9 @@ 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." +#, 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 #, c-format @@ -20313,222 +20086,197 @@ 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:1392 replication/logical/snapbuild.c:1489 +#: replication/logical/snapbuild.c:2005 #, 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:1394 #, c-format msgid "There are no running transactions." msgstr "No hay transacciones en ejecución." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1441 #, 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:1443 replication/logical/snapbuild.c:1467 #, 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:1465 #, 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:1491 #, 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:1892 #, 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:1898 #, 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:1939 #, 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:2007 #, 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:2114 #, 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:160 #, 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:639 +#, 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:814 replication/logical/tablesync.c:956 #, 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" -#: replication/logical/tablesync.c:803 +#: replication/logical/tablesync.c:821 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "la tabla \"%s.%s\" no fue encontrada en el editor (publisher)" -#: 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:879 +#, 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 editor (publisher): %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:1058 +#, 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 editor (publisher): %s" -#: replication/logical/tablesync.c:1191 +#: replication/logical/tablesync.c:1217 #, 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:1418 #, 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" -#: replication/logical/tablesync.c:1455 +#: replication/logical/tablesync.c:1460 #, 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:1493 replication/logical/worker.c:2374 +#, c-format +msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" +msgstr "el usuario «%s» no puede replicar en relaciones con seguridad de registros activa: «%s»" + +#: replication/logical/tablesync.c:1506 #, 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" - -#: 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/worker.c:512 -#, fuzzy, c-format -#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" +#: replication/logical/worker.c:499 +#, 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:501 #, 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:863 replication/logical/worker.c:978 #, 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:2513 #, 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»" -#: replication/logical/worker.c:2533 +#: replication/logical/worker.c:2520 #, 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" +#, 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 #, 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:3713 #, 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:3907 #, 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:3920 #, 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:3951 +#, 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:3955 #, 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:4478 #, c-format -msgid "%s for subscription %u will not start because the subscription was removed 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" -#. translator: first %s is the name of logical replication worker -#: replication/logical/worker.c:4492 +#: replication/logical/worker.c:4493 #, c-format -msgid "%s for subscription \"%s\" will not start because the subscription was disabled during startup" -msgstr "" +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:4510 #, 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" +#, c-format +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:4590 #, c-format @@ -20536,126 +20284,119 @@ msgid "subscription has no replication slot set" msgstr "la suscripción no tiene un slot de replicación establecido" #: replication/logical/worker.c:4757 -#, fuzzy, c-format -#| msgid "cursor \"%s\" has been declared but not opened" +#, 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" +#, 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 #, 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" +#, 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 #, 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 #, 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 #, 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 #, 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 #, 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 #, 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 #, 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 #, 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:317 #, c-format msgid "invalid proto_version" msgstr "proto_version no válido" -#: replication/pgoutput/pgoutput.c:323 +#: replication/pgoutput/pgoutput.c:322 #, 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:339 #, c-format msgid "invalid publication_names syntax" msgstr "sintaxis de publication_names no válida" -#: replication/pgoutput/pgoutput.c:443 +#: replication/pgoutput/pgoutput.c:440 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" -msgstr "" +msgstr "el cliente envió proto_version=%d pero el servidor sólo soporta el protocolo %d o inferior" -#: replication/pgoutput/pgoutput.c:449 -#, fuzzy, c-format -#| msgid "requested proto_version=%d does not support streaming, need %d or higher" +#: replication/pgoutput/pgoutput.c:446 +#, c-format 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" +msgstr "el cliente envió proto_version=%d pero el servidor sólo soporta el protocolo %d o superior" -#: replication/pgoutput/pgoutput.c:455 +#: replication/pgoutput/pgoutput.c:452 #, c-format msgid "publication_names parameter missing" msgstr "parámetro publication_names faltante" -#: replication/pgoutput/pgoutput.c:469 +#: replication/pgoutput/pgoutput.c:466 #, 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:472 +#, 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:477 #, 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:494 +#, 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:499 +#, 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 #, c-format @@ -20703,7 +20444,7 @@ msgstr "no existe el slot de replicación «%s»" 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:756 replication/slot.c:1672 replication/slot.c:2055 #, c-format msgid "could not remove directory \"%s\"" msgstr "no se pudo eliminar el directorio «%s»" @@ -20720,95 +20461,86 @@ 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" +#, 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 #, 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:1271 #, 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] "El restart_lsn %X/%X del slot excede el límite en %llu byte." +msgstr[1] "El restart_lsn %X/%X del slot excede el límite en %llu bytes." -#: replication/slot.c:1272 -#, fuzzy, c-format -#| msgid "Key %s conflicts with existing key %s." +#: replication/slot.c:1279 +#, 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" +#: replication/slot.c:1284 msgid "Logical decoding on standby requires wal_level >= logical on the primary server." -msgstr "la decodificación lógica requiere wal_level >= logical" +msgstr "La decodificación lógica en standby requiere wal_level >= logical en el primario." -#: replication/slot.c:1285 +#: replication/slot.c:1292 #, 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:1294 +#, c-format msgid "invalidating obsolete replication slot \"%s\"" -msgstr "creando el slot de replicación «%s»" +msgstr "invalidando el slot de replicación obsoleto «%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." - -#: replication/slot.c:1959 +#: replication/slot.c:1993 #, 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:2000 #, 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:2007 #, 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:2043 #, 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:2077 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical" -#: replication/slot.c:2045 +#: replication/slot.c:2079 #, c-format msgid "Change wal_level to be logical or higher." msgstr "Cambie wal_level a logical o superior." # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/slot.c:2049 +#: replication/slot.c:2083 #, 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" # <> hello vim -#: replication/slot.c:2051 +#: replication/slot.c:2085 #, c-format msgid "Change wal_level to be replica or higher." msgstr "Cambie wal_level a replica o superior." -#: replication/slot.c:2085 +#: replication/slot.c:2119 #, c-format msgid "too many replication slots active before shutdown" msgstr "demasiados slots de replicación activos antes del apagado" @@ -20964,10 +20696,9 @@ 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" +#, 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 #, c-format @@ -20975,18 +20706,16 @@ 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 -#, fuzzy, c-format -#| msgid "could not write to log file %s at offset %u, length %zu: %m" +#, c-format 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" +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" +#, 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:623 storage/smgr/md.c:1529 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m" @@ -21017,10 +20746,9 @@ msgid "requested starting point %X/%X is ahead of the WAL flush position of this 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\"" +#, 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 @@ -21042,10 +20770,9 @@ msgstr "%s debe llamarse en una transacción de modo de aislamiento REPEATABLE R #. 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" +#, 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 @@ -21112,10 +20839,9 @@ 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" +#, 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 #, c-format @@ -21138,10 +20864,9 @@ 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" +#, 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 #, c-format @@ -21199,10 +20924,9 @@ 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\"" +#, 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 #, c-format @@ -21285,225 +21009,223 @@ msgstr "no existe la regla «%s» para la relación «%s»" msgid "renaming an ON SELECT rule is not allowed" msgstr "no se permite cambiar el nombre de una regla ON SELECT" -#: rewrite/rewriteHandler.c:581 +#: rewrite/rewriteHandler.c:583 #, c-format msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "el nombre de consulta WITH «%s» aparece tanto en una acción de regla y en la consulta que está siendo reescrita" -#: rewrite/rewriteHandler.c:608 -#, fuzzy, c-format -#| msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" +#: rewrite/rewriteHandler.c:610 +#, 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 +#: rewrite/rewriteHandler.c:663 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "no se puede usar RETURNING en múltiples reglas" -#: rewrite/rewriteHandler.c:893 rewrite/rewriteHandler.c:932 +#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "no se puede insertar un valor no-predeterminado en la columna «%s»" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:961 +#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "La columna \"%s\" es una columna de identidad definida como GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:897 +#: rewrite/rewriteHandler.c:899 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Use OVERRIDING SYSTEM VALUE para controlar manualmente." -#: rewrite/rewriteHandler.c:959 rewrite/rewriteHandler.c:967 +#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "la columna «%s» sólo puede actualizarse a DEFAULT" -#: rewrite/rewriteHandler.c:1114 rewrite/rewriteHandler.c:1132 +#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 #, c-format 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:2119 rewrite/rewriteHandler.c:4047 #, 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:2204 #, 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:2524 msgid "Junk view columns are not updatable." msgstr "Las columnas «basura» de vistas no son actualizables." -#: rewrite/rewriteHandler.c:2528 +#: rewrite/rewriteHandler.c:2529 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:2532 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:2535 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:2596 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:2599 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:2602 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:2605 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:2608 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:2611 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:2623 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:2626 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:2629 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:2636 rewrite/rewriteHandler.c:2640 +#: rewrite/rewriteHandler.c:2648 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:2651 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:2675 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:3168 #, 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:3176 #, 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:3674 #, 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:3685 #, 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:3699 #, 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:3703 #, 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:3708 #, 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 +#: rewrite/rewriteHandler.c:3975 rewrite/rewriteHandler.c:3983 +#: rewrite/rewriteHandler.c:3991 #, c-format 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:4096 #, 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:4098 #, 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:4103 #, 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:4105 #, 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:4110 #, 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:4112 #, 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:4130 #, 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:4187 #, 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:1075 #, 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:1419 #, 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:1754 #, 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 @@ -21607,16 +21329,14 @@ 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 #, c-format @@ -21624,147 +21344,145 @@ 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" +#, 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:992 storage/smgr/md.c:338 storage/smgr/md.c:1041 #, 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:537 storage/file/fd.c:609 storage/file/fd.c:645 #, 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:567 #, 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:619 #, 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:937 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit falló: %m" -#: storage/file/fd.c:984 +#: storage/file/fd.c:1027 #, 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:1028 #, 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:1116 storage/file/fd.c:2565 storage/file/fd.c:2674 +#: storage/file/fd.c:2825 #, 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:1490 #, 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:1629 #, 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:1636 #, 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:1833 #, 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:1869 #, 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:1910 #, 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:1998 #, 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:2185 #, 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:2541 storage/file/fd.c:2600 #, 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:2645 #, 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:2801 #, 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:3331 #, 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:3449 #, 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 +#: storage/file/fd.c:3463 #, 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:3676 #, 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:3708 #, 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 -#, fuzzy, c-format -#| msgid "Direct I/O is not supported on this platform.\n" +#: storage/file/fd.c:3897 +#, c-format msgid "debug_io_direct is not supported on this platform." -msgstr "Direct I/O no está soportado en esta plataforma.\n" +msgstr "debug_io_direct no está soportado en esta plataforma." -#: storage/file/fd.c:3894 +#: storage/file/fd.c:3944 #, c-format msgid "debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" -msgstr "" +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:3951 #, c-format msgid "debug_io_direct is not supported for data because BLCKSZ is too small" -msgstr "" +msgstr "debug_io_direct no está soportado para datos porque BLCKSZ es demasiado pequeño" #: storage/file/reinit.c:145 #, c-format @@ -21851,32 +21569,31 @@ 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/procarray.c:3807 #, 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:3843 storage/ipc/procarray.c:3851 +#: 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:3836 storage/ipc/signalfuncs.c:238 +#: storage/ipc/procarray.c:3844 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:3852 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 #, 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 #, c-format @@ -21888,9 +21605,9 @@ msgstr "no se puede enviar un mensaje de tamaño %zu mediante la cola de memoria 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/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:997 +#: storage/lmgr/lock.c:1035 storage/lmgr/lock.c:2820 storage/lmgr/lock.c:4205 +#: storage/lmgr/lock.c:4270 storage/lmgr/lock.c:4620 #: 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 @@ -21924,67 +21641,60 @@ 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 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1387 #: utils/adt/mcxtfuncs.c:190 #, 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 +#: storage/ipc/signalfuncs.c:284 #, 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 +#: storage/ipc/signalfuncs.c:286 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:292 storage/ipc/signalfuncs.c:312 #, 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" @@ -22009,37 +21719,35 @@ msgstr "cancelando la sentencia debido a un conflicto con la recuperación" 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:1488 msgid "unknown reason" msgstr "razón desconocida" -#: storage/ipc/standby.c:1484 +#: storage/ipc/standby.c:1493 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:1496 msgid "recovery conflict on lock" msgstr "conflicto de recuperación en bloqueo" -#: storage/ipc/standby.c:1490 +#: storage/ipc/standby.c:1499 msgid "recovery conflict on tablespace" msgstr "conflicto de recuperación en tablespace" -#: storage/ipc/standby.c:1493 +#: storage/ipc/standby.c:1502 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:1505 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:1508 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:1511 msgid "recovery conflict on database" msgstr "conflicto de recuperación en base de datos" @@ -22048,165 +21756,158 @@ msgstr "conflicto de recuperación en base de datos" 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:273 #, 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:456 #, 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:628 #, 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:853 #, 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:856 #, 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:859 #, 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:862 #, 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:865 #, 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:868 #, 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:871 #, 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:874 #, 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:1206 #, 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:1212 #, 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:1218 #, 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:1223 #, 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:1230 #, 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:1238 #, c-format msgid "transaction %u" msgstr "transacción %u" -#: storage/lmgr/lmgr.c:1211 +#: storage/lmgr/lmgr.c:1243 #, c-format msgid "virtual transaction %d/%u" msgstr "transacción virtual %d/%u" -#: storage/lmgr/lmgr.c:1217 +#: storage/lmgr/lmgr.c:1249 #, 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:1255 #, 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:1263 #, 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:1270 #, 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:1278 +#, 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:1285 #, c-format msgid "unrecognized locktag type %d" msgstr "tipo de locktag %d no reconocido" -#: storage/lmgr/lock.c:803 +#: storage/lmgr/lock.c:825 #, 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:827 #, 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:3269 storage/lmgr/lock.c:3337 storage/lmgr/lock.c:3453 #, 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" @@ -22252,12 +21953,6 @@ msgstr "no se pudo importar el snapshot solicitado" 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 @@ -22281,27 +21976,27 @@ msgstr "La transacción podría tener éxito si es reintentada." 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:1480 #, 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:1495 #, 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:1504 #, 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:1511 #, 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:1528 #, 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" @@ -22334,63 +22029,62 @@ msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u" msgid "corrupted line pointer: offset = %u, size = %u" msgstr "puntero de ítem corrupto: desplazamiento = %u, tamaño = %u" -#: storage/smgr/md.c:484 storage/smgr/md.c:546 +#: storage/smgr/md.c:487 storage/smgr/md.c:549 #, 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:499 storage/smgr/md.c:610 +#: storage/smgr/md.c:502 storage/smgr/md.c:613 #, c-format msgid "could not extend file \"%s\": %m" msgstr "no se pudo extender el archivo «%s»: %m" -#: storage/smgr/md.c:505 +#: storage/smgr/md.c:508 #, 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:588 -#, fuzzy, c-format -#| msgid "could not extend file \"%s\": %m" +#: storage/smgr/md.c:591 +#, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" -msgstr "no se pudo extender el archivo «%s»: %m" +msgstr "no se pudo extender el archivo «%s» con FileFallocate(): %m" -#: storage/smgr/md.c:779 +#: storage/smgr/md.c:782 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "no se pudo leer el bloque %u del archivo «%s»: %m" -#: storage/smgr/md.c:795 +#: storage/smgr/md.c:798 #, 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" -#: storage/smgr/md.c:853 +#: storage/smgr/md.c:856 #, 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" -#: storage/smgr/md.c:858 +#: storage/smgr/md.c:861 #, 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" -#: storage/smgr/md.c:1009 +#: storage/smgr/md.c:1012 #, 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:1064 +#: storage/smgr/md.c:1067 #, 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:1491 +#: storage/smgr/md.c:1494 #, 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:1505 +#: storage/smgr/md.c:1508 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m" @@ -22441,7 +22135,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:4882 #, c-format msgid "invalid frontend message type %d" msgstr "el tipo de mensaje de frontend %d no es válido" @@ -22550,10 +22244,9 @@ 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." +#, 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 #, c-format @@ -22696,10 +22389,9 @@ msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equi 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." +#, c-format msgid "client_connection_check_interval must be set to 0 on this platform." -msgstr "huge_page_size debe ser 0 en esta plataforma." +msgstr "client_connection_check_interval debe ser 0 en esta plataforma." #: tcop/postgres.c:3608 #, c-format @@ -22731,27 +22423,27 @@ msgstr "%s: argumento de línea de órdenes no válido: %s" 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:4779 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "subtipo %d de mensaje CLOSE no válido" -#: tcop/postgres.c:4811 +#: tcop/postgres.c:4816 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "subtipo %d de mensaje DESCRIBE no válido" -#: tcop/postgres.c:4898 +#: tcop/postgres.c:4903 #, 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:4907 #, 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:5087 #, 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" @@ -22801,17 +22493,16 @@ msgstr "no se puede ejecutar %s durante una operación restringida por seguridad 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:954 +#, 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:956 +#, 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 @@ -22968,7 +22659,7 @@ 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:18123 gram.y:18140 #, c-format msgid "syntax error" msgstr "error de sintaxis" @@ -23046,83 +22737,80 @@ msgstr "no se pudo abrir el archivo de stopwords «%s»: %m" 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:2663 #, 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:2673 #, 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:2677 #, c-format msgid "MinWords should be positive" msgstr "MinWords debería ser positivo" -#: tsearch/wparser_def.c:2666 +#: tsearch/wparser_def.c:2681 #, c-format msgid "ShortWord should be >= 0" msgstr "ShortWord debería ser >= 0" -#: tsearch/wparser_def.c:2670 +#: tsearch/wparser_def.c:2685 #, 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" +#, 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:1255 +#, 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:1335 #, 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:1447 #, 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:1456 #, 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:1464 #, 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:1513 #, 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:1675 #, 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 #, 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 #, c-format @@ -23159,70 +22847,70 @@ msgstr "Debe venir un nombre después de una palabra clave «group» o «user». msgid "missing \"=\" sign" msgstr "falta un signo «=»" -#: utils/adt/acl.c:344 +#: utils/adt/acl.c:341 #, 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:371 #, 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:383 #, 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:569 #, 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:573 #, 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:577 #, 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:606 #, 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:1248 #, 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:1564 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert ya no está soportado" -#: utils/adt/acl.c:1577 +#: utils/adt/acl.c:1574 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove ya no está soportado" -#: utils/adt/acl.c:1697 +#: utils/adt/acl.c:1693 #, 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:3476 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:5023 #, 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 @@ -23245,7 +22933,7 @@ msgstr "el tipo de entrada no es un 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:1257 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 +#: utils/adt/int8.c:1272 utils/adt/numeric.c:1916 utils/adt/numeric.c:4403 #: 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 @@ -23286,7 +22974,7 @@ 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/arrayfuncs.c:5646 utils/adt/arrayfuncs.c:5652 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "no se pueden acumular arrays de distinta dimensionalidad" @@ -23302,64 +22990,63 @@ 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" +#, c-format msgid "sample size must be between 0 and %d" -msgstr "el porcentaje de muestreo debe estar entre 0 y 100" +msgstr "el tamaño de la muestra debe estar entre 0 y %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: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 #, c-format msgid "malformed array literal: \"%s\"" msgstr "literal de array mal formado: «%s»" -#: utils/adt/arrayfuncs.c:274 +#: utils/adt/arrayfuncs.c:275 #, 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:289 #, c-format msgid "Missing array dimension value." msgstr "Falta un valor de dimensión de array." -#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 +#: utils/adt/arrayfuncs.c:300 utils/adt/arrayfuncs.c:339 #, 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:309 utils/adt/arrayfuncs.c:2976 +#: utils/adt/arrayfuncs.c:3021 utils/adt/arrayfuncs.c:3036 #, 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:321 +#: utils/adt/arrayfuncs.c:322 #, 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." -#: utils/adt/arrayfuncs.c:352 +#: utils/adt/arrayfuncs.c:353 #, c-format msgid "Array contents must start with \"{\"." msgstr "El contenido del array debe empezar con «{»." -#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 +#: utils/adt/arrayfuncs.c:361 utils/adt/arrayfuncs.c:368 #, c-format 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:507 utils/adt/arrayfuncs.c:533 +#: 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 @@ -23367,74 +23054,74 @@ msgstr "Las dimensiones del array especificadas no coinciden con el contenido de msgid "Unexpected end of input." msgstr "Fin inesperado de la entrada." -#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 -#: utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 +#: utils/adt/arrayfuncs.c:523 utils/adt/arrayfuncs.c:570 +#: utils/adt/arrayfuncs.c:600 utils/adt/arrayfuncs.c:649 #, 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:549 utils/adt/arrayfuncs.c:672 #, c-format msgid "Unexpected array element." msgstr "Elemento de array inesperado." -#: utils/adt/arrayfuncs.c:606 +#: utils/adt/arrayfuncs.c:607 #, c-format msgid "Unmatched \"%c\" character." msgstr "Carácter «%c» desemparejado." -#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 +#: utils/adt/arrayfuncs.c:615 utils/adt/jsonfuncs.c:2553 #, 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:692 utils/adt/multirangetypes.c:293 #, c-format msgid "Junk after closing right brace." msgstr "Basura después de la llave derecha de cierre." -#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 -#: utils/adt/arrayfuncs.c:6080 +#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3535 +#: utils/adt/arrayfuncs.c:6136 #, c-format msgid "invalid number of dimensions: %d" msgstr "número incorrecto de dimensiones: %d" -#: utils/adt/arrayfuncs.c:1336 +#: utils/adt/arrayfuncs.c:1337 #, c-format msgid "invalid array flags" msgstr "opciones de array no válidas" -#: utils/adt/arrayfuncs.c:1358 +#: utils/adt/arrayfuncs.c:1359 #, 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/arrayfuncs.c:1403 utils/adt/multirangetypes.c:451 #: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916 #, 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:1543 #, 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/arrayfuncs.c:1624 utils/adt/multirangetypes.c:456 #: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949 #, 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:2103 #, 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/arrayfuncs.c:2281 utils/adt/arrayfuncs.c:2303 +#: utils/adt/arrayfuncs.c:2352 utils/adt/arrayfuncs.c:2606 +#: utils/adt/arrayfuncs.c:2951 utils/adt/arrayfuncs.c:6122 +#: utils/adt/arrayfuncs.c:6148 utils/adt/arrayfuncs.c:6159 #: 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 @@ -23442,111 +23129,111 @@ msgstr "no está implementada la obtención de segmentos de arrays de largo fijo 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:2286 utils/adt/arrayfuncs.c:2410 +#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3026 #, 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:2291 #, 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:2891 #, 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:2922 #, 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:2923 #, 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:2941 utils/adt/arrayfuncs.c:3053 #, 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:3693 #, 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:3864 utils/adt/arrayfuncs.c:4035 +#: utils/adt/arrayfuncs.c:4426 #, 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/arrayfuncs.c:4213 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 #, 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:4341 utils/adt/rowtypes.c:2006 #, 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:5536 #, 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:5591 #, c-format msgid "cannot accumulate null arrays" msgstr "no se pueden acumular arrays nulos" -#: utils/adt/arrayfuncs.c:5563 +#: utils/adt/arrayfuncs.c:5619 #, 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:6020 utils/adt/arrayfuncs.c:6060 #, 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:6123 utils/adt/arrayfuncs.c:6149 #, 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:6128 utils/adt/arrayfuncs.c:6154 #, 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:6160 #, 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:6438 #, 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:6715 #, 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:6720 #, 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:6953 #, 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 +23248,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:155 #, 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:257 #, 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:262 #, 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:267 #, c-format msgid "typmod array must not contain nulls" msgstr "los arrays de typmod no deben contener valores nulos" @@ -23587,7 +23274,7 @@ 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/bool.c:153 utils/adt/cash.c:354 utils/adt/datetime.c:4028 #: 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/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 @@ -23595,50 +23282,53 @@ msgstr "la conversión de codificación de %s a ASCII no está soportada" #: 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/network.c:99 utils/adt/numeric.c:802 utils/adt/numeric.c:7151 +#: utils/adt/numeric.c:7354 utils/adt/numeric.c:8301 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/uuid.c:135 utils/adt/xid8funcs.c:362 #, 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: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:3190 utils/adt/numeric.c:3213 utils/adt/numeric.c:3298 +#: utils/adt/numeric.c:3316 utils/adt/numeric.c:3412 utils/adt/numeric.c:8850 +#: utils/adt/numeric.c:9163 utils/adt/numeric.c:9511 utils/adt/numeric.c:9627 +#: utils/adt/numeric.c:11138 utils/adt/timestamp.c:3442 #, 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: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 +#, 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 @@ -23664,7 +23354,7 @@ 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/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2512 #, c-format msgid "date out of range" msgstr "fecha fuera de rango" @@ -23691,25 +23381,23 @@ 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: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 +#, 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/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 +#, c-format msgid "unit \"%s\" not recognized for type %s" -msgstr "%s: tipo de inicio «%s» no reconocido\n" +msgstr "unidad «%s» no reconocida para el tipo %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 @@ -23719,22 +23407,26 @@ msgstr "%s: tipo de inicio «%s» no reconocido\n" #: 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/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:2534 +#: utils/adt/xml.c:2541 utils/adt/xml.c:2561 utils/adt/xml.c:2568 #, c-format msgid "timestamp out of range" msgstr "timestamp fuera de rango" @@ -23751,9 +23443,9 @@ 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/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2594 +#: utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540 +#: utils/adt/timestamp.c:3571 #, c-format msgid "invalid preceding or following size in window function" msgstr "tamaño «preceding» o «following» no válido en ventana deslizante" @@ -23763,62 +23455,61 @@ msgstr "tamaño «preceding» o «following» no válido en ventana deslizante" 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:3111 utils/adt/timestamp.c:5598 utils/adt/timestamp.c:5828 #, 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:3234 utils/adt/datetime.c:4013 +#: utils/adt/datetime.c:4019 utils/adt/timestamp.c:512 #, 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:3987 utils/adt/datetime.c:3994 #, 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:3996 #, 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:4001 #, 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:4007 #, 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:4021 #, 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»." -#: utils/adt/datum.c:90 utils/adt/datum.c:102 +#: utils/adt/datum.c:91 utils/adt/datum.c:103 #, c-format 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:765 utils/adt/dbsize.c:841 #, c-format msgid "invalid size: \"%s\"" msgstr "tamaño no válido: «%s»" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:842 #, 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:843 +#, 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 #, c-format @@ -23933,34 +23624,34 @@ 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/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:1293 utils/adt/numeric.c:4515 utils/adt/numeric.c:4520 #, 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:1453 utils/adt/numeric.c:3708 utils/adt/numeric.c:10042 #, 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:1521 utils/adt/numeric.c:3996 utils/adt/numeric.c:4108 #, 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:1525 utils/adt/numeric.c:4000 utils/adt/numeric.c:10933 #, 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:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3908 +#: utils/adt/numeric.c:10713 #, 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:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3846 +#: utils/adt/numeric.c:3903 utils/adt/numeric.c:10717 #, c-format msgid "cannot take logarithm of a negative number" msgstr "no se puede calcular logaritmo de un número negativo" @@ -23979,22 +23670,22 @@ msgstr "la entrada está fuera de rango" 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:4095 utils/adt/numeric.c:1856 #, 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:4100 utils/adt/numeric.c:1867 #, 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:4106 utils/adt/numeric.c:1872 #, 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:4172 utils/adt/numeric.c:1886 #, c-format msgid "lower bound cannot equal upper bound" msgstr "el límite superior no puede ser igual al límite inferior" @@ -24267,10 +23958,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 @@ -24350,8 +24040,8 @@ 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:1419 utils/adt/numeric.c:1764 +#: utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971 #, c-format msgid "step size cannot equal zero" msgstr "el tamaño de paso no puede ser cero" @@ -24360,19 +24050,19 @@ msgstr "el tamaño de paso no puede ser cero" #: 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/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:4474 #: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 #: 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:1376 #, c-format msgid "OID out of range" msgstr "OID fuera de rango" @@ -24382,7 +24072,7 @@ msgstr "OID fuera de rango" 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:1113 utils/adt/json.c:1123 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" @@ -24394,10 +24084,9 @@ 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." +#, 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 #, c-format @@ -24420,10 +24109,10 @@ msgstr "un array debe tener dos columnas" msgid "mismatched array dimensions" msgstr "las dimensiones de array no coinciden" -#: utils/adt/json.c:1764 +#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 #, c-format msgid "duplicate JSON object key value" -msgstr "" +msgstr "valor de llavo del objeto JSON duplicado" #: utils/adt/jsonb.c:294 #, c-format @@ -24496,23 +24185,15 @@ 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)" +#, 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)" +#, 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 #, c-format @@ -24832,67 +24513,67 @@ msgstr "el argumento cadena del método de item jsonpath .%s() no es una represe 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:1584 +#: utils/adt/jsonpath_exec.c:1587 #, 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:1594 #, 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:1662 #, 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:1761 #, 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:1801 #, 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 +#: utils/adt/jsonpath_exec.c:1904 #, c-format msgid "datetime 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:1906 #, 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:1974 #, 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:2156 #, 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:2420 #, 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:2432 #, 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:2609 #, 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:2611 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Utilice una función *_tz() para el soporte de huso horario." @@ -25030,7 +24711,7 @@ msgstr "el formato de log «%s» no está soportado" #: utils/adt/misc.c:975 #, 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 @@ -25138,108 +24819,107 @@ 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:792 utils/adt/numeric.c:3658 utils/adt/numeric.c:7146 +#: utils/adt/numeric.c:7349 utils/adt/numeric.c:7821 utils/adt/numeric.c:10516 +#: utils/adt/numeric.c:10991 utils/adt/numeric.c:11085 +#: utils/adt/numeric.c:11220 #, c-format msgid "value overflows numeric format" msgstr "el valor excede el formato numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1105 #, 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:1111 #, 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:1120 #, 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:1335 utils/adt/numeric.c:1349 #, 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:1340 +#, 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:1358 #, 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:1724 #, 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:1728 #, 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:1735 #, 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:1739 #, 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:1752 #, 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:1756 #, 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:3648 #, 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:4381 utils/adt/numeric.c:4461 utils/adt/numeric.c:4502 +#: utils/adt/numeric.c:4698 #, 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:4385 utils/adt/numeric.c:4465 utils/adt/numeric.c:4506 +#: utils/adt/numeric.c:4702 #, 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:4711 #, 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:7911 utils/adt/numeric.c:7962 #, c-format msgid "numeric field overflow" msgstr "desbordamiento de campo numeric" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7912 #, 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:7963 #, 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." @@ -25255,10 +24935,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,16 +24945,14 @@ 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 @@ -25283,90 +24960,88 @@ msgstr "el carácter solicitado es demasiado grande" 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:1410 +#, 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:1421 utils/adt/pg_locale.c:2831 +#: utils/adt/pg_locale.c:2904 #, 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:1450 #, 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:1453 #, 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:1568 #, 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:1577 #, 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\"" +#: utils/adt/pg_locale.c:1618 +#, c-format 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:1624 #, 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:1626 #, 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:1629 #, 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:1695 #, 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:1720 #, 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:1776 utils/adt/pg_locale.c:1789 #, 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:1803 #, 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:1984 #, 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:2205 utils/adt/pg_locale.c:2237 #, 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:2474 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s" @@ -25392,34 +25067,32 @@ msgstr "no se pudo abrir el conversor ICU para la codificación «%s»: %s" msgid "%s failed: %s" msgstr "%s falló: %s" -#: utils/adt/pg_locale.c:2838 +#: utils/adt/pg_locale.c:2822 #, 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:2863 +#, 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:2865 utils/adt/pg_locale.c:2894 #, 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:2892 +#, 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:3073 #, 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:3074 #, 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." @@ -25439,26 +25112,25 @@ msgstr "no se puede restar NaN de pg_lsn" 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:254 #, c-format msgid "invalid command name: \"%s\"" msgstr "nombre de orden no válido: «%s»" -#: utils/adt/pgstatfuncs.c:1773 +#: utils/adt/pgstatfuncs.c:1774 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "destino de reset no reconocido: «%s»" -#: utils/adt/pgstatfuncs.c:1774 +#: utils/adt/pgstatfuncs.c:1775 #, c-format msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." -msgstr "" +msgstr "El destino puede ser «archiver», «bgwriter», «io», «recovery_prefetch» o «wal»." -#: utils/adt/pgstatfuncs.c:1852 -#, fuzzy, c-format -#| msgid "invalid role OID: %u" +#: utils/adt/pgstatfuncs.c:1857 +#, 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/pseudotypes.c:58 utils/adt/pseudotypes.c:92 #, c-format @@ -25558,7 +25230,7 @@ msgstr "Si su intención era usar regexp_replace() con un parámetro de inicio, #: 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:1872 utils/misc/guc.c:6627 utils/misc/guc.c:6661 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "valor no válido para el parámetro «%s»: %d" @@ -25596,18 +25268,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:8841 #, c-format msgid "missing argument" msgstr "falta un argumento" -#: utils/adt/regproc.c:671 gram.y:8845 +#: utils/adt/regproc.c:671 gram.y:8842 #, 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:2009 utils/adt/ruleutils.c:10021 +#: utils/adt/ruleutils.c:10234 #, c-format msgid "too many arguments" msgstr "demasiados argumentos" @@ -25679,7 +25351,7 @@ msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s 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:2112 gram.y:4223 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL no está implementada" @@ -25782,25 +25454,22 @@ msgstr "no se pueden comparar los tipos de columnas disímiles %s y %s en la col 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:2679 +#, 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:2691 +#, 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:2698 +#, 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:5228 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "la regla «%s» tiene el tipo de evento no soportado %d" @@ -25846,6 +25515,23 @@ msgstr "el timestamp no puede ser NaN" msgid "timestamp out of range: \"%g\"" msgstr "timestamp fuera de rango: «%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 +#, c-format +msgid "interval out of range" +msgstr "interval fuera de rango" + #: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 #, c-format msgid "invalid INTERVAL type modifier" @@ -25871,25 +25557,25 @@ msgstr "la precisión de interval(%d) debe estar entre %d y %d" 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:4015 utils/adt/timestamp.c:4215 #, 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:4020 utils/adt/timestamp.c:4220 #, 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:4031 utils/adt/timestamp.c:4231 #, 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:4526 #, c-format msgid "Months usually have fractional weeks." -msgstr "" +msgstr "Los meses usualmente tienen semanas fraccionales." #: utils/adt/trigfuncs.c:42 #, c-format @@ -25921,32 +25607,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" @@ -25997,10 +25683,9 @@ 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" +#, 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 #, c-format @@ -26239,176 +25924,181 @@ msgstr "punto de código Unicode no válido: %04X" 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:723 #, 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:126 #, 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:555 #, 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:628 #, 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:670 #, 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:966 utils/adt/xml.c:989 #, 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:967 #, 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:990 #, 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:1069 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate no está implementado" -#: utils/adt/xml.c:1115 +#: utils/adt/xml.c:1125 #, 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:1126 #, 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:1212 #, 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:1213 #, 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:2241 msgid "Invalid character value." msgstr "Valor de carácter no válido." -#: utils/adt/xml.c:2192 +#: utils/adt/xml.c:2244 msgid "Space required." msgstr "Se requiere un espacio." -#: utils/adt/xml.c:2195 +#: utils/adt/xml.c:2247 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone acepta sólo 'yes' y 'no'." -#: utils/adt/xml.c:2198 +#: utils/adt/xml.c:2250 msgid "Malformed declaration: missing version." msgstr "Declaración mal formada: falta la versión." -#: utils/adt/xml.c:2201 +#: utils/adt/xml.c:2253 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:2256 msgid "Parsing XML declaration: '?>' expected." msgstr "Procesando declaración XML: se esperaba '?>'." -#: utils/adt/xml.c:2207 +#: utils/adt/xml.c:2259 #, 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:2513 #, 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:2535 utils/adt/xml.c:2562 #, 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:2978 #, c-format msgid "invalid query" msgstr "consulta no válido" -#: utils/adt/xml.c:4266 +#: utils/adt/xml.c:3070 +#, c-format +msgid "portal \"%s\" does not return tuples" +msgstr "el portal «%s» no retorna tuplas" + +#: utils/adt/xml.c:4322 #, 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:4323 #, 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:4347 #, c-format msgid "empty XPath expression" msgstr "expresion XPath vacía" -#: utils/adt/xml.c:4343 +#: utils/adt/xml.c:4399 #, 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:4406 #, 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:4749 #, 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:4778 #, 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:4809 #, 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:4953 #, 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" @@ -26439,54 +26129,52 @@ msgstr "no hay una función de salida para el tipo %s" 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:724 #, 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:3741 +#, 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:3749 +#, 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:6495 #, 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:6497 #, 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:6819 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "no se pudo eliminar el archivo de cache «%s»: %m" -#: utils/cache/relmapper.c:596 +#: utils/cache/relmapper.c:597 #, c-format 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:853 #, 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:863 #, 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:1809 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "el tipo record no ha sido registrado" @@ -26499,104 +26187,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 #, 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:2112 #, 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:2125 #, 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 +#: utils/error/elog.c:2161 #, 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:2867 utils/error/elog.c:2894 utils/error/elog.c:2910 msgid "[unknown]" msgstr "[desconocido]" -#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 +#: utils/error/elog.c:3183 utils/error/elog.c:3504 utils/error/elog.c:3611 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:3186 utils/error/elog.c:3189 #, 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:3199 utils/error/elog.c:3206 msgid "DETAIL: " msgstr "DETALLE: " -#: utils/error/elog.c:3193 +#: utils/error/elog.c:3213 msgid "HINT: " msgstr "HINT: " -#: utils/error/elog.c:3200 +#: utils/error/elog.c:3220 msgid "QUERY: " msgstr "CONSULTA: " -#: utils/error/elog.c:3207 +#: utils/error/elog.c:3227 msgid "CONTEXT: " msgstr "CONTEXTO: " -#: utils/error/elog.c:3217 +#: utils/error/elog.c:3237 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "UBICACIÓN: %s, %s:%d\n" -#: utils/error/elog.c:3224 +#: utils/error/elog.c:3244 #, c-format msgid "LOCATION: %s:%d\n" msgstr "UBICACIÓN: %s:%d\n" -#: utils/error/elog.c:3231 +#: utils/error/elog.c:3251 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3243 +#: utils/error/elog.c:3263 msgid "STATEMENT: " msgstr "SENTENCIA: " -#: utils/error/elog.c:3636 +#: utils/error/elog.c:3656 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3660 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3643 +#: utils/error/elog.c:3663 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3646 +#: utils/error/elog.c:3666 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3670 msgid "WARNING" msgstr "WARNING" -#: utils/error/elog.c:3653 +#: utils/error/elog.c:3673 msgid "ERROR" msgstr "ERROR" -#: utils/error/elog.c:3656 +#: utils/error/elog.c:3676 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3679 msgid "PANIC" msgstr "PANIC" @@ -26631,16 +26319,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 @@ -26721,213 +26407,213 @@ msgstr "la información de opciones de la clase de operadores está ausente en e 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 +#: 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" -#: 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:346 #, 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:351 #, 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:359 #, 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:375 #, 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:377 #, 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:395 #, 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:397 #, 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:455 #, 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:692 utils/misc/guc.c:3557 #, 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:764 #, 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:794 #, 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:812 #, c-format msgid "too many connections for role \"%s\"" msgstr "demasiadas conexiones para el rol «%s»" -#: utils/init/miscinit.c:912 +#: utils/init/miscinit.c:919 #, 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:1002 #, 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:1149 #, 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:1236 #, 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:1250 #, 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:1257 #, 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:1266 #, 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:1267 #, 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:1311 #, 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:1315 #, 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:1317 #, 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:1320 #, 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:1322 #, 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:1373 #, 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:1375 #, 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:1412 utils/init/miscinit.c:1426 +#: utils/init/miscinit.c:1437 #, 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:1548 utils/init/miscinit.c:1690 utils/misc/guc.c:5597 #, 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:1678 #, 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:1703 #, 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:1742 utils/init/miscinit.c:1758 #, 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:1744 #, c-format msgid "File \"%s\" is missing." msgstr "Falta el archivo «%s»." -#: utils/init/miscinit.c:1753 +#: utils/init/miscinit.c:1760 #, 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:1762 #, c-format msgid "You might need to initdb." msgstr "Puede ser necesario ejecutar initdb." -#: utils/init/miscinit.c:1763 +#: utils/init/miscinit.c:1770 #, 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 +26646,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 +26663,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 @@ -27027,83 +26713,82 @@ msgstr "Recree la base de datos con otra configuración regional, o instale la c #: utils/init/postinit.c:418 #, c-format msgid "The database was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." -msgstr "La base de datos fueron inicializada con LC_CTYPE «%s», el cual no es reconocido por 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" +#, 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." +#, 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." +#, 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:891 #, 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:892 #, 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:928 #, 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:949 +#, 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:955 #, 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:967 +#, 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:968 #, 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:1086 +#, c-format +msgid "It seems to have just been dropped or renamed." +msgstr "Parece haber sido eliminada o renombrada." -#: utils/init/postinit.c:1042 +#: utils/init/postinit.c:1090 #, 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:1099 #, 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:1159 #, 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 @@ -27127,11 +26812,6 @@ msgstr "ID de codificación %d inesperado para juegos de caracteres WIN" 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 #, c-format @@ -27196,9 +26876,9 @@ msgstr "Unidades válidas son para este parámetro son «us», «ms», «s», « 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: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 #, 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" @@ -27239,27 +26919,26 @@ msgid "Custom parameter names must be two or more simple identifiers separated b 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." +#, 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 #, 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:1767 #, c-format msgid "%s: could not access directory \"%s\": %s\n" msgstr "%s: no se pudo acceder al directorio «%s»: %s\n" -#: utils/misc/guc.c:1770 +#: utils/misc/guc.c:1772 #, 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:1796 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -27268,12 +26947,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 +#: utils/misc/guc.c:1819 #, c-format msgid "%s: could not access the server configuration file \"%s\": %s\n" msgstr "%s: no se pudo acceder al archivo de configuración «%s»: %s\n" -#: utils/misc/guc.c:1845 +#: utils/misc/guc.c:1847 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -27282,7 +26961,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:1899 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -27291,7 +26970,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:1930 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -27300,123 +26979,117 @@ 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:2896 msgid "Value exceeds integer range." msgstr "El valor excede el rango para enteros." -#: utils/misc/guc.c:3130 +#: utils/misc/guc.c:3132 #, c-format msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d%s%s está fuera del rango aceptable para el parámetro «%s» (%d .. %d)" -#: utils/misc/guc.c:3166 +#: utils/misc/guc.c:3168 #, c-format msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" 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:3369 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:3388 utils/misc/guc.c:4539 #, 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:3421 #, 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:3448 utils/misc/guc.c:3510 utils/misc/guc.c:4515 +#: utils/misc/guc.c:6563 #, 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:3490 #, 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:3549 #, 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:3570 +#, 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:3577 +#, 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:4221 utils/misc/guc.c:4268 utils/misc/guc.c:5282 +#, 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:4222 utils/misc/guc.c:4269 utils/misc/guc.c:5283 #, 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 -#, fuzzy, c-format -#| msgid "permission denied for operator %s" +#: utils/misc/guc.c:4505 +#, 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:4571 #, 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:4617 #, 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:4799 #, 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:5138 +#, 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:5140 +#, 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:6017 #, 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:6186 #, 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:6276 #, 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:6695 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "valor no válido para el parámetro «%s»: %g" @@ -27436,2027 +27109,1981 @@ 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:662 msgid "Ungrouped" msgstr "Sin Grupo" -#: utils/misc/guc_tables.c:669 +#: utils/misc/guc_tables.c:664 msgid "File Locations" msgstr "Ubicaciones de Archivos" -#: utils/misc/guc_tables.c:671 +#: utils/misc/guc_tables.c:666 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:668 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:670 msgid "Connections and Authentication / Authentication" msgstr "Conexiones y Autentificación / Autentificación" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:672 msgid "Connections and Authentication / SSL" msgstr "Conexiones y Autentificación / SSL" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:674 msgid "Resource Usage / Memory" msgstr "Uso de Recursos / Memoria" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:676 msgid "Resource Usage / Disk" msgstr "Uso de Recursos / Disco" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:678 msgid "Resource Usage / Kernel Resources" msgstr "Uso de Recursos / Recursos del Kernel" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:680 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:682 msgid "Resource Usage / Background Writer" msgstr "Uso de Recursos / Escritor en Segundo Plano" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Asynchronous Behavior" msgstr "Uso de Recursos / Comportamiento Asíncrono" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:686 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:690 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:692 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:694 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:696 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:698 msgid "Replication / Sending Servers" msgstr "Replicación / Servidores de Envío" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:700 msgid "Replication / Primary Server" msgstr "Replicación / Servidor Primario" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:702 msgid "Replication / Standby Servers" msgstr "Replicación / Servidores Standby" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:704 msgid "Replication / Subscribers" msgstr "Replicación / Suscriptores" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:706 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:708 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:710 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:712 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:714 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:716 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:718 msgid "Reporting and Logging / What to Log" msgstr "Reporte y Registro / Qué Registrar" -#: utils/misc/guc_tables.c:725 +#: utils/misc/guc_tables.c:720 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:722 msgid "Statistics / Monitoring" msgstr "Estadísticas / Monitoreo" -#: utils/misc/guc_tables.c:729 +#: utils/misc/guc_tables.c:724 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:726 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:733 +#: utils/misc/guc_tables.c:728 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:730 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:732 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:734 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:736 msgid "Lock Management" msgstr "Manejo de Bloqueos" -#: utils/misc/guc_tables.c:743 +#: utils/misc/guc_tables.c:738 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:740 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:742 msgid "Error Handling" msgstr "Gestión de Errores" -#: utils/misc/guc_tables.c:749 +#: utils/misc/guc_tables.c:744 msgid "Preset Options" msgstr "Opciones Predefinidas" -#: utils/misc/guc_tables.c:751 +#: utils/misc/guc_tables.c:746 msgid "Customized Options" msgstr "Opciones Personalizadas" -#: utils/misc/guc_tables.c:753 +#: utils/misc/guc_tables.c:748 msgid "Developer Options" msgstr "Opciones de Desarrollador" -#: utils/misc/guc_tables.c:810 +#: utils/misc/guc_tables.c:805 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:815 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:825 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:835 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:845 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:855 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:865 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:875 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:885 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:895 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:905 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:915 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:925 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:935 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:945 msgid "Enables partitionwise join." msgstr "Permitir el uso de joins por particiones." -#: utils/misc/guc_tables.c:960 +#: utils/misc/guc_tables.c:955 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:965 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:975 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:985 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:986 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." +msgstr "Permite al optimizador 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:997 +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:1000 +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:1012 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:1022 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:1023 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:1034 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:1044 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:1053 msgid "Collects transaction commit time." msgstr "Recolectar tiempo de compromiso de transacciones." -#: utils/misc/guc_tables.c:1067 +#: utils/misc/guc_tables.c:1062 msgid "Enables SSL connections." msgstr "Permitir conexiones SSL." -#: utils/misc/guc_tables.c:1076 +#: utils/misc/guc_tables.c:1071 msgid "Controls whether ssl_passphrase_command is called during server reload." -msgstr "" +msgstr "Controla si ssl_passphrase_command se invoca durante un «reload» del servidor." -#: utils/misc/guc_tables.c:1085 +#: utils/misc/guc_tables.c:1080 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:1089 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:1090 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:1101 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:1102 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:1116 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 +#: 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 "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:1130 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 +#: 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 "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:1149 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." -#: utils/misc/guc_tables.c:1155 +#: utils/misc/guc_tables.c:1150 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." -#: utils/misc/guc_tables.c:1168 +#: utils/misc/guc_tables.c:1163 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." -#: utils/misc/guc_tables.c:1178 +#: utils/misc/guc_tables.c:1173 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:1183 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:1193 msgid "Logs each checkpoint." msgstr "Registrar cada punto de control." -#: utils/misc/guc_tables.c:1207 +#: utils/misc/guc_tables.c:1202 msgid "Logs each successful connection." msgstr "Registrar cada conexión exitosa." -#: utils/misc/guc_tables.c:1216 +#: utils/misc/guc_tables.c:1211 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:1220 msgid "Logs each replication command." msgstr "Registrar cada orden de replicación." -#: utils/misc/guc_tables.c:1234 +#: utils/misc/guc_tables.c:1229 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:1240 msgid "Terminate session on any error." msgstr "Terminar sesión ante cualquier error." -#: utils/misc/guc_tables.c:1254 +#: utils/misc/guc_tables.c:1249 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:1258 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:1268 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:1278 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:1289 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:1298 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:1307 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:1316 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:1325 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:1334 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:1343 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:1352 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:1361 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:1371 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:1383 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:1384 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:1394 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:1403 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:1412 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:1422 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:1423 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:1432 msgid "Starts the autovacuum subprocess." msgstr "Iniciar el subproceso de autovacuum." -#: utils/misc/guc_tables.c:1447 +#: utils/misc/guc_tables.c:1442 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:1454 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:1464 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:1474 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:1484 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:1496 msgid "Logs long lock waits." msgstr "Registrar esperas largas de bloqueos." -#: utils/misc/guc_tables.c:1510 +#: utils/misc/guc_tables.c:1505 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:1514 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:1515 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:1526 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:1527 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 +#: utils/misc/guc_tables.c:1539 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:1548 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:1558 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:1568 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:1577 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:1587 msgid "Enable row security." msgstr "Activar seguridad de registros." -#: utils/misc/guc_tables.c:1593 +#: utils/misc/guc_tables.c:1588 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:1596 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:1605 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:1606 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:1622 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:1632 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:1641 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:1652 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:1666 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:1681 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:1694 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:1706 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:1717 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:1727 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:1737 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:1747 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:1758 msgid "Enable synchronized sequential scans." msgstr "Permitir la sincronización de recorridos secuenciales." -#: utils/misc/guc_tables.c:1773 +#: utils/misc/guc_tables.c:1768 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:1778 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:1788 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:1798 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:1809 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:1820 msgid "Disables reading from system indexes." msgstr "Deshabilita lectura de índices del sistema." -#: utils/misc/guc_tables.c:1826 +#: utils/misc/guc_tables.c:1821 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:1832 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:1843 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:1844 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:1854 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:1864 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:1875 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:1885 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:1895 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:1896 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:1906 msgid "Allow JIT compilation." msgstr "Permitir compilación JIT." -#: utils/misc/guc_tables.c:1922 +#: utils/misc/guc_tables.c:1917 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:1934 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:1945 msgid "Allow JIT compilation of expressions." msgstr "Permitir compilación JIT de expresiones." -#: utils/misc/guc_tables.c:1961 +#: utils/misc/guc_tables.c:1956 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:1973 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:1984 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:1993 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 -#, fuzzy -#| msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." +#: utils/misc/guc_tables.c:2011 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:2022 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:2024 utils/misc/guc_tables.c:2658 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:2033 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:2034 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:2043 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:2045 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:2056 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: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 "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:2069 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:2079 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:2089 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:2090 utils/misc/guc_tables.c:2100 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:2099 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:2111 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:2122 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:2133 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:2144 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:2155 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:2166 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:2177 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:2188 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:2198 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:2209 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:2224 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:2235 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:2246 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:2257 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:2258 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:2268 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:2279 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:2289 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:2290 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:2304 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:2305 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:2319 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:2320 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:2333 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:2334 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:2346 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:2347 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:2357 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:2358 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:2374 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:2385 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:2386 msgid "-1 means no limit." msgstr "-1 significa sin límite." -#: utils/misc/guc_tables.c:2401 +#: utils/misc/guc_tables.c:2396 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:2406 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:2416 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:2426 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:2436 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:2446 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:2459 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:2470 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:2471 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:2480 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:2492 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:2493 utils/misc/guc_tables.c:2504 +#: utils/misc/guc_tables.c:2515 utils/misc/guc_tables.c:2526 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:2503 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:2514 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:2525 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:2536 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:2546 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:2556 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:2566 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:2576 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)." -#: utils/misc/guc_tables.c:2590 +#: utils/misc/guc_tables.c:2585 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)." -#: utils/misc/guc_tables.c:2603 +#: utils/misc/guc_tables.c:2598 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 +#: 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 "" +msgstr "La tabla compartida de “locks” es dimensionada con la presunción de que como máximo max_locks_per_transaction objetos necesitarán ser bloqueados por cada proceso servidor o transacción preparada en todo momento." -#: utils/misc/guc_tables.c:2615 +#: utils/misc/guc_tables.c:2610 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 +#: 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 "" +msgstr "La tabla compartida de “locks de predicado” es dimensionada con la presunción que como máximo max_pred_locks_per_transaction objetos necesitarán ser bloqueados por cada proceso servidor o transacción preparada en todo momento." -#: utils/misc/guc_tables.c:2627 +#: utils/misc/guc_tables.c:2622 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:2623 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:2633 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:2634 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:2644 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:2656 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:2673 +#: utils/misc/guc_tables.c:2668 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:2669 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:2679 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:2690 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:2702 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:2714 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:2725 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:2727 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:2740 utils/misc/guc_tables.c:2958 +#: utils/misc/guc_tables.c:2998 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:2751 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:2762 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:2773 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:2784 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:2795 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:2806 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:2816 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:2817 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:2829 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:2840 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 -#, fuzzy -#| msgid "Sets the maximum number of concurrent connections." +#: utils/misc/guc_tables.c:2852 msgid "Sets the minimum number of concurrent open transactions required before performing commit_delay." -msgstr "Número máximo de conexiones concurrentes." +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:2863 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:2864 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:2876 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:2879 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:2889 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:2891 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:2901 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:2903 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:2913 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:2915 utils/misc/guc_tables.c:2927 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:2925 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:2937 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:2948 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:2971 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 +#: utils/misc/guc_tables.c:2985 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:3016 +#: utils/misc/guc_tables.c:3011 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:3023 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:3035 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:3047 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:3057 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:3069 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:3081 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:3092 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:3103 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:3114 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:3125 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:3136 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:3147 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:3159 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:3172 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:3182 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:3191 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:3200 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:3210 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." -#: utils/misc/guc_tables.c:3227 +#: utils/misc/guc_tables.c:3222 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." -#: utils/misc/guc_tables.c:3237 +#: utils/misc/guc_tables.c:3232 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:3242 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:3252 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:3263 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:3274 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 +#: utils/misc/guc_tables.c:3285 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 +#: utils/misc/guc_tables.c:3286 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:3296 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:3297 utils/misc/guc_tables.c:3308 +#: utils/misc/guc_tables.c:3432 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:3307 msgid "Time between TCP keepalive retransmits." msgstr "Tiempo entre retransmisiones TCP keepalive." -#: utils/misc/guc_tables.c:3323 +#: utils/misc/guc_tables.c:3318 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:3329 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:3330 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:3341 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:3352 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:3353 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:3364 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:3365 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:3375 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:3376 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:3387 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:3398 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:3399 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:3409 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:3420 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:3431 msgid "TCP user timeout." msgstr "Tiempo de expiración de TCP." -#: utils/misc/guc_tables.c:3447 +#: utils/misc/guc_tables.c:3442 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:3453 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:3476 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:3487 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:3489 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:3499 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:3519 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:3530 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:3541 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:3552 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:3563 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:3574 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:3585 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:3597 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:3598 msgid "-1 disables JIT compilation." msgstr "-1 inhabilita compilación JIT." -#: utils/misc/guc_tables.c:3613 +#: utils/misc/guc_tables.c:3608 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:3609 msgid "-1 disables optimization." msgstr "-1 inhabilita la optimización." -#: utils/misc/guc_tables.c:3624 +#: utils/misc/guc_tables.c:3619 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:3620 msgid "-1 disables inlining." msgstr "-1 inhabilita el «inlining»." -#: utils/misc/guc_tables.c:3635 +#: utils/misc/guc_tables.c:3630 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:3642 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:3654 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:3665 msgid "GEQO: seed for random path selection." msgstr "GEQO: semilla para la selección aleatoria de caminos." -#: utils/misc/guc_tables.c:3681 +#: utils/misc/guc_tables.c:3676 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:3687 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:3697 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:3708 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:3719 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:3730 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:3740 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:3750 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:3760 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." -#: utils/misc/guc_tables.c:3775 +#: utils/misc/guc_tables.c:3770 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:3771 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:3780 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:3781 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:3800 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:3801 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:3810 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:3811 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:3820 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:3830 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:3840 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:3850 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:3860 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:3869 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:3878 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:3887 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:3896 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:3906 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:3917 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:3927 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:3938 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:3939 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:3948 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:3958 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:3959 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:3970 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:3981 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:3982 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:3992 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:4003 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:4015 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:4016 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:4029 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:4040 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:4050 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:4060 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:4070 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:4080 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:4090 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:4101 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:4112 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:4123 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:4135 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:4147 msgid "Shows the server version." msgstr "Versión del servidor." -#: utils/misc/guc_tables.c:4188 +#: utils/misc/guc_tables.c:4159 msgid "Sets the current role." msgstr "Define el rol actual." -#: utils/misc/guc_tables.c:4200 +#: utils/misc/guc_tables.c:4171 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:4182 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:4183 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:4194 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:4195 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:4205 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:4216 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:4227 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:4238 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:4248 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:4258 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:4259 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:4269 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:4280 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:4295 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:4306 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:4317 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:4328 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:4339 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:4350 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:4365 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:4375 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:4385 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:4395 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:4405 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:4415 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:4426 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:4436 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:4451 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:4466 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:4477 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:4488 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:4499 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:4510 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:4511 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:4521 msgid "JIT provider to use." msgstr "Proveedor JIT a usar." -#: utils/misc/guc_tables.c:4561 +#: utils/misc/guc_tables.c:4532 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:4543 msgid "Use direct I/O for file access." -msgstr "" +msgstr "Usar I/O directo para accesos a archivos." -#: utils/misc/guc_tables.c:4592 +#: utils/misc/guc_tables.c:4563 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:4573 msgid "Sets the output format for bytea." msgstr "Formato de salida para bytea." -#: utils/misc/guc_tables.c:4612 +#: utils/misc/guc_tables.c:4583 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:4584 utils/misc/guc_tables.c:4680 +#: utils/misc/guc_tables.c:4691 utils/misc/guc_tables.c:4763 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:4594 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:4604 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:4605 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:4616 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:4627 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:4637 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:4648 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:4659 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:4669 msgid "Sets the verbosity of logged messages." msgstr "Verbosidad de los mensajes registrados." -#: utils/misc/guc_tables.c:4708 +#: utils/misc/guc_tables.c:4679 msgid "Sets the message levels that are logged." msgstr "Nivel de mensajes registrados." -#: utils/misc/guc_tables.c:4719 +#: utils/misc/guc_tables.c:4690 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:4701 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:4711 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:4722 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:4732 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 +#: utils/misc/guc_tables.c:4742 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:4752 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 +#: utils/misc/guc_tables.c:4762 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:4779 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:4790 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:4800 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:4810 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:4820 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:4830 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:4840 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:4850 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:4860 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:4871 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:4881 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:4882 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:4891 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:4892 +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:4904 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:4914 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:4915 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:4927 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:4939 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:4951 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:4960 +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:4961 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:51 utils/misc/pg_controldata.c:91 +#: utils/misc/pg_controldata.c:182 utils/misc/pg_controldata.c:223 #, 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" @@ -29551,7 +29178,7 @@ msgstr "@INCLUDE sin nombre de archivo en archivo de huso horario «%s», línea 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:532 utils/mmgr/dsa.c:1350 #, c-format msgid "could not attach to dynamic shared area" msgstr "no se pudo adjuntar al segmento de memoria compartida dinámica" @@ -29624,17 +29251,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:1363 #, 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:1365 #, c-format msgid "Key %s is duplicated." msgstr "La llave %s está duplicada." -#: utils/sort/tuplesortvariants.c:1367 +#: utils/sort/tuplesortvariants.c:1366 #, c-format msgid "Duplicate keys exist." msgstr "Existe una llave duplicada." @@ -29698,362 +29325,356 @@ msgstr "una transacción serializable que no es de sólo lectura no puede import 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:1197 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD ya no está soportado" -#: gram.y:1201 +#: gram.y:1198 #, 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:1525 gram.y:1541 #, 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:1693 #, c-format msgid "current database cannot be changed" msgstr "no se puede cambiar la base de datos activa" -#: gram.y:1829 +#: gram.y:1826 #, 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:2443 #, 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:3039 #, c-format msgid "sequence option \"%s\" not supported here" -msgstr "la opción de secuencia «%s» no está soportado aquí" +msgstr "la opción de secuencia «%s» no está soportada aquí" -#: gram.y:3071 +#: gram.y:3068 #, 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:3077 #, 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:3084 #, 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:3092 #, 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:3096 #, 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:3304 gram.y:3338 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT no están permitidos con PROGRAM" -#: gram.y:3313 +#: gram.y:3310 #, 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:3649 gram.y:3656 gram.y:12821 gram.y:12829 #, 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:3932 #, 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:4315 +#, 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:5027 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM ya no está soportado" -#: gram.y:5728 +#: gram.y:5725 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "opción de seguridad de registro «%s» no reconocida" -#: gram.y:5729 +#: gram.y:5726 #, 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:5811 #, 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:5848 msgid "duplicate trigger events specified" msgstr "se han especificado eventos de disparador duplicados" -#: gram.y:6000 +#: gram.y:5997 #, c-format msgid "conflicting constraint properties" msgstr "propiedades de restricción contradictorias" -#: gram.y:6099 +#: gram.y:6096 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION no está implementado" -#: gram.y:6507 +#: gram.y:6504 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK ya no es requerido" -#: gram.y:6508 +#: gram.y:6505 #, c-format msgid "Update your data type." msgstr "Actualice su tipo de datos." -#: gram.y:8381 +#: gram.y:8378 #, 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:11054 gram.y:11073 #, 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:12960 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "la sintaxis LIMIT #,# no está soportada" -#: gram.y:12964 +#: gram.y:12961 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Use cláusulas LIMIT y OFFSET separadas." -#: gram.y:13824 +#: gram.y:13821 #, c-format msgid "only one DEFAULT value is allowed" msgstr "Sólo se permite un valor DEFAULT" -#: gram.y:13833 +#: gram.y:13830 #, 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:13839 #, 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:13848 #, c-format msgid "unrecognized column option \"%s\"" msgstr "opción de columna «%s» no reconocida" -#: gram.y:14105 +#: gram.y:14102 #, 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:14111 #, 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:14614 #, 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:14619 #, 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:14796 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "el predicado UNIQUE no está implementado" -#: gram.y:15215 +#: gram.y:15212 #, 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:15217 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "no se permite DISTINCT con WITHIN GROUP" -#: gram.y:15225 +#: gram.y:15222 #, 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:15856 gram.y:15880 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING" -#: gram.y:15864 +#: gram.y:15861 #, 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:15885 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING" -#: gram.y:15894 +#: gram.y:15891 #, 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:15898 #, 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:16659 #, 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:16665 #, 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:16733 gram.y:16740 gram.y:16747 #, 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:16837 gram.y:18294 #, 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:17973 gram.y:18160 msgid "improper use of \"*\"" msgstr "uso impropio de «*»" -#: gram.y:18225 +#: gram.y:18224 #, 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:18261 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "no se permiten múltiples cláusulas ORDER BY" -#: gram.y:18273 +#: gram.y:18272 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "no se permiten múltiples cláusulas OFFSET" -#: gram.y:18282 +#: gram.y:18281 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "no se permiten múltiples cláusulas LIMIT" -#: gram.y:18291 +#: gram.y:18290 #, c-format msgid "multiple limit options not allowed" msgstr "no se permiten múltiples opciones limit" -#: gram.y:18318 +#: gram.y:18317 #, c-format msgid "multiple WITH clauses not allowed" msgstr "no se permiten múltiples cláusulas WITH" -#: gram.y:18511 +#: gram.y:18510 #, 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:18643 #, 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:18681 gram.y:18694 #, 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:18707 #, 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:18720 #, 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:18742 #, 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:18766 +#, 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:18767 #, 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:18783 +#, 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:18804 +#, 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:18811 +#, 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:18825 +#, 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 @@ -30098,7 +29719,7 @@ msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo « #: jsonpath_gram.y:529 #, c-format msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." -msgstr "" +msgstr "Carácter de bandera «%.*s» no reconocido en predicado LIKE_REGEX." #: jsonpath_gram.y:607 #, c-format @@ -30106,43 +29727,31 @@ 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:209 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" @@ -30159,20 +29768,17 @@ 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 "" +msgid "invalid input" +msgstr "entrada no válida" #: jsonpath_scan.l:583 -#, fuzzy -#| msgid "invalid hexadecimal digit: \"%.*s\"" 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" +#, 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 #, c-format @@ -30180,140 +29786,120 @@ msgid "invalid timeline %u" msgstr "timeline %u no válido" #: repl_scanner.l:152 -#, fuzzy -#| msgid "invalid transaction termination" msgid "invalid streaming start location" -msgstr "terminación de transacción no válida" - -#: repl_scanner.l:209 scan.l:741 -msgid "unterminated quoted string" -msgstr "una cadena de caracteres entre comillas está inconclusa" +msgstr "ubicación de inicio de flujo no válida" -#: 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." -#: 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:1435 #, 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:1436 #, 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:1445 #, 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:1446 #, 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:1460 #, 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:1461 #, 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/ja.po b/src/backend/po/ja.po index 56f61fe9389..18a4cd1f5e9 100644 --- a/src/backend/po/ja.po +++ b/src/backend/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: postgres (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-01-29 12:59+0900\n" -"PO-Revision-Date: 2024-01-29 13:05+0900\n" +"POT-Creation-Date: 2024-07-22 10:55+0900\n" +"PO-Revision-Date: 2024-07-22 11:00+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: jpug-doc \n" "Language: ja\n" @@ -82,20 +82,20 @@ msgstr "記録されていません" msgid "could not open file \"%s\" for reading: %m" msgstr "ファイル\"%s\"を読み込み用にオープンできませんでした: %m" -#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 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 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 +#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 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:2040 replication/slot.c:1980 replication/slot.c:2021 replication/walsender.c:643 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 #, 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:831 +#: ../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:2045 replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648 utils/cache/relmapper.c:834 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$dバイトを読み込みました" #: ../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 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 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 +#: access/transam/xlog.c:3968 access/transam/xlog.c:4887 commands/copyfrom.c:1747 commands/copyto.c:332 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:1807 replication/logical/snapbuild.c:1931 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 #, c-format msgid "could not close file \"%s\": %m" msgstr "ファイル\"%s\"をクローズできませんでした: %m" @@ -118,26 +118,26 @@ msgstr "" "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:816 utils/cache/relmapper.c:924 utils/error/elog.c:2082 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 +#: 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:1762 replication/logical/snapbuild.c:1872 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:2102 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 #, 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:936 +#: ../common/controldata_utils.c:232 ../common/controldata_utils.c:235 access/transam/twophase.c:1744 access/transam/twophase.c:1753 access/transam/xlog.c:8766 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 #, 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 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: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:8156 access/transam/xlog.c:8201 +#: backup/basebackup_server.c:209 commands/dbcommands.c:515 replication/logical/snapbuild.c:1800 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 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %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 +#: 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:209 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:1461 storage/ipc/procarray.c:2243 storage/ipc/procarray.c:2250 storage/ipc/procarray.c:2749 storage/ipc/procarray.c:3385 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 #, c-format @@ -176,12 +176,12 @@ msgstr "実行すべき\"%s\"がありませんでした" 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: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 #, 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/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 #, c-format msgid "out of memory\n" msgstr "メモリ不足です\n" @@ -191,7 +191,7 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "nullポインタは複製できません(内部エラー)\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 +#: ../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:1658 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 #, c-format msgid "could not stat file \"%s\": %m" @@ -207,7 +207,7 @@ msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" 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:379 access/transam/xlogarchive.c:390 postmaster/pgarch.c:746 postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1819 replication/slot.c:723 replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792 utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -383,7 +383,7 @@ msgstr "制限付きトークンで再実行できませんでした: %lu" 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 +#: ../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:1700 replication/logical/snapbuild.c:2134 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 #, c-format msgid "could not remove file \"%s\": %m" @@ -584,12 +584,12 @@ msgstr "\"%s\"はBRINインデックスではありません" 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:2271 +#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084 parser/parse_utilcmd.c:2287 #, 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: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 #, c-format msgid "cannot accept a value of type %s" msgstr "%s型の値は受け付けられません" @@ -689,7 +689,7 @@ 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:968 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "インデックス行が%zuバイトを必要としますが最大値は%zuです" @@ -792,7 +792,7 @@ msgstr "圧縮方式 lz4 はサポートされていません" msgid "This functionality requires the server to be built with lz4 support." msgstr "この機能はlz4lサポート付きでビルドしたサーバーを必要とします。" -#: access/common/tupdesc.c:837 commands/tablecmds.c:6957 commands/tablecmds.c:12981 +#: access/common/tupdesc.c:837 commands/tablecmds.c:7002 commands/tablecmds.c:13073 #, c-format msgid "too many array dimensions" msgstr "配列の次元多すぎます" @@ -917,7 +917,7 @@ msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は演算子%3$s 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:17486 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 +#: 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:17573 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 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." @@ -928,7 +928,7 @@ msgstr "照合順序を明示するには COLLATE 句を使います。" 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:88 access/spgist/spgdoinsert.c:2006 access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1029 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "バッファページよりも大きな値をインデックスすることはできません。" @@ -1013,7 +1013,7 @@ 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:1011 access/heap/rewriteheap.c:1128 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:518 postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 replication/logical/origin.c:603 replication/slot.c:1777 +#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 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:8755 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 #, c-format msgid "could not create file \"%s\": %m" @@ -1024,156 +1024,156 @@ msgstr "ファイル\"%s\"を作成できませんでした: %m" msgid "could not truncate file \"%s\" to %u: %m" msgstr "ファイル\"%s\"を%uバイトに切り詰められませんでした: %m" -#: access/heap/rewriteheap.c:1156 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:530 postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 replication/logical/origin.c:615 replication/logical/origin.c:657 replication/logical/origin.c:676 replication/logical/snapbuild.c:1767 replication/slot.c:1812 +#: access/heap/rewriteheap.c:1156 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 replication/logical/origin.c:615 replication/logical/origin.c:657 replication/logical/origin.c:676 replication/logical/snapbuild.c:1776 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 #, c-format msgid "could not write to file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" -#: access/heap/vacuumlazy.c:482 +#: access/heap/vacuumlazy.c:480 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "\"%s.%s.%s\"に対して積極的VACUUMを実行しています" -#: access/heap/vacuumlazy.c:487 +#: access/heap/vacuumlazy.c:485 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "\"%s.%s.%s\"に対してVACUUMを実行しています" -#: access/heap/vacuumlazy.c:635 +#: access/heap/vacuumlazy.c:633 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "テーブル\"%s.%s.%s\"のVACUUM完了: インデックススキャン: %d\n" -#: access/heap/vacuumlazy.c:646 +#: access/heap/vacuumlazy.c:644 #, 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:648 +#: access/heap/vacuumlazy.c:646 #, 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:653 +#: access/heap/vacuumlazy.c:651 #, 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:655 +#: access/heap/vacuumlazy.c:653 #, 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:662 +#: access/heap/vacuumlazy.c:660 #, 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:667 #, 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:673 #, 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:681 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "削除可能限界: %u、これは処理完了時には%d XID分過去になります\n" -#: access/heap/vacuumlazy.c:688 +#: access/heap/vacuumlazy.c:686 #, 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:696 +#: access/heap/vacuumlazy.c:694 #, 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:699 +#: access/heap/vacuumlazy.c:697 #, 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:705 msgid "index scan not needed: " msgstr "インデックススキャンは不要です: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:707 msgid "index scan needed: " msgstr "インデックススキャンが必要です: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:709 #, 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:714 msgid "index scan bypassed: " msgstr "インデックススキャンはスキップされました: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:716 msgid "index scan bypassed by failsafe: " msgstr "フェイルセーフによりインデックススキャンがスキップされました: " -#: access/heap/vacuumlazy.c:720 +#: access/heap/vacuumlazy.c:718 #, 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:733 #, 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:745 commands/analyze.c:801 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "I/O時間: 読み込み: %.3fミリ秒, 書き込み: %.3fミリ秒\n" -#: access/heap/vacuumlazy.c:757 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:755 commands/analyze.c:804 #, 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:760 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:758 commands/analyze.c:806 #, 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:763 #, 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:767 commands/analyze.c:810 #, c-format msgid "system usage: %s" msgstr "システム使用状況: %s" -#: access/heap/vacuumlazy.c:2482 +#: access/heap/vacuumlazy.c:2477 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "テーブル\"%1$s\": %3$uページ内の%2$lldの削除済み行識別子を除去" -#: access/heap/vacuumlazy.c:2642 +#: access/heap/vacuumlazy.c:2637 #, 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:2645 +#: access/heap/vacuumlazy.c:2640 #, 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:2641 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1182,67 +1182,67 @@ msgstr "" "設定パラメータ\"maintenance_work_mem\"または\"autovacuum_work_mem\"を増やすことを検討してください。\n" "VACUUMがトランザクションIDの割り当てに追従できるようにする他の方法を検討する必要があるかもしれません。" -#: access/heap/vacuumlazy.c:2891 +#: access/heap/vacuumlazy.c:2886 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\":競合するロックが存在するため切り詰めを中断します" -#: access/heap/vacuumlazy.c:2961 +#: access/heap/vacuumlazy.c:2956 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "テーブル\"%s\": %uページから%uページに切り詰め" -#: access/heap/vacuumlazy.c:3023 +#: access/heap/vacuumlazy.c:3018 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "テーブル\"%s\": 競合するロック要求が存在するため、切り詰めを保留します" -#: access/heap/vacuumlazy.c:3183 +#: access/heap/vacuumlazy.c:3178 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "\"%s\"のVACUUMに対するパラレルオプションを無効化します --- 一時テーブルは並列にVACUUMできません" -#: access/heap/vacuumlazy.c:3399 +#: access/heap/vacuumlazy.c:3394 #, 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:3402 +#: access/heap/vacuumlazy.c:3397 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のブロック%1$uのスキャン中" -#: access/heap/vacuumlazy.c:3406 +#: access/heap/vacuumlazy.c:3401 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "リレーション\"%s.%s\"のスキャン中" -#: access/heap/vacuumlazy.c:3414 +#: access/heap/vacuumlazy.c:3409 #, 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:3417 +#: access/heap/vacuumlazy.c:3412 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のブロック%1$uのVACUUM処理中" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3416 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "リレーション\"%s.%s\"のVACUUM処理中" -#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3421 commands/vacuumparallel.c:1074 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のインデックス%1$sのVACUUM処理中" -#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1080 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のインデックス%1$sのクリーンアップ処理中" -#: access/heap/vacuumlazy.c:3437 +#: access/heap/vacuumlazy.c:3432 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "リレーション \"%s.%s\"を%uブロックに切り詰め中" @@ -1262,12 +1262,17 @@ msgstr "インデックスアクセスメソッド\"%s\"はハンドラを持っ 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:17181 commands/tablecmds.c:18959 +#: access/index/genam.c:658 access/index/indexam.c:87 +#, 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:17268 commands/tablecmds.c:19055 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\"はインデックスではありません" -#: access/index/indexam.c:1016 +#: access/index/indexam.c:1021 #, c-format msgid "operator class %s has no options" msgstr "演算子クラス%sにはオプションはありません" @@ -1287,7 +1292,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:2317 +#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 parser/parse_utilcmd.c:2333 #, c-format msgid "index \"%s\" is not a btree" msgstr "インデックス\"%s\"はbtreeではありません" @@ -1336,7 +1341,7 @@ msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は型%3$sと%4$s msgid "compress method must be defined when leaf type is different from input type" msgstr "リーフ型が入力型と異なる場合は圧縮メソッドの定義が必要です" -#: access/spgist/spgutils.c:1015 +#: access/spgist/spgutils.c:1026 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "SP-GiST内部タプルのサイズ%zuが最大値%zuを超えています" @@ -1493,17 +1498,17 @@ msgstr "最古のチェックポイント済みのマルチトランザクショ msgid "MultiXact member wraparound protections are now enabled" msgstr "マルチトランザクションメンバーの周回防止機能が有効になりました" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3034 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "最古のマルチトランザクション%uが見つかりません、アクセス可能な最古のものは%u、切り詰めをスキップします" -#: access/transam/multixact.c:3045 +#: access/transam/multixact.c:3052 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "マルチトランザクション%uがディスク上に存在しないため、そこまでの切り詰めができません、切り詰めをスキップします" -#: access/transam/multixact.c:3359 +#: access/transam/multixact.c:3366 #, c-format msgid "invalid MultiXactId: %u" msgstr "不正なMultiXactId: %u" @@ -1712,12 +1717,12 @@ msgstr "max_prepared_transactionsを非ゼロに設定してください。" msgid "transaction identifier \"%s\" is already in use" msgstr "トランザクション識別子\"%s\"はすでに存在します" -#: access/transam/twophase.c:422 access/transam/twophase.c:2517 +#: access/transam/twophase.c:422 access/transam/twophase.c:2516 #, c-format msgid "maximum number of prepared transactions reached" msgstr "準備済みのトランザクションの最大数に達しました" -#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#: access/transam/twophase.c:423 access/transam/twophase.c:2517 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "max_prepared_transactionsを増加してください(現状%d)。" @@ -1788,7 +1793,7 @@ msgstr "ファイル\"%s\"内に格納されているサイズが不正です" 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:1413 access/transam/xlogrecovery.c:590 replication/logical/logical.c:210 replication/walsender.c:687 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "WALリーダの割り当てに中に失敗しました。" @@ -1819,52 +1824,52 @@ msgid "%u two-phase state file was written for a long-running prepared transacti msgid_plural "%u two-phase state files were written for long-running prepared transactions" msgstr[0] "長時間実行中の準備済みトランザクションのために%u個の2相状態ファイルが書き込まれました" -#: access/transam/twophase.c:2093 +#: access/transam/twophase.c:2092 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "共有メモリから準備済みトランザクション%uを復元します" -#: access/transam/twophase.c:2186 +#: access/transam/twophase.c:2185 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "不要になったトランザクション%uの2相状態ファイルを削除します" -#: access/transam/twophase.c:2193 +#: access/transam/twophase.c:2192 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "不要になったトランザクション%uの2相状態をメモリから削除します" -#: access/transam/twophase.c:2206 +#: access/transam/twophase.c:2205 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "未来のトランザクション%uの2相状態ファイルを削除します" -#: access/transam/twophase.c:2213 +#: access/transam/twophase.c:2212 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "未来のトランザクション%uの2相状態をメモリから削除します" -#: access/transam/twophase.c:2238 +#: access/transam/twophase.c:2237 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "トランザクション%uの2相状態ファイルが破損しています" -#: access/transam/twophase.c:2243 +#: access/transam/twophase.c:2242 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "メモリ上にあるトランザクション%uの2相状態が破損しています" -#: access/transam/twophase.c:2500 +#: access/transam/twophase.c:2499 #, c-format msgid "could not recover two-phase state file for transaction %u" msgstr "トランザクション%uの2相状態ファイルを復元できませんでした" -#: access/transam/twophase.c:2502 +#: access/transam/twophase.c:2501 #, 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:2509 jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415 #, c-format msgid "could not access file \"%s\": %m" msgstr "ファイル\"%s\"にアクセスできませんでした: %m" @@ -2159,12 +2164,12 @@ msgstr "\"min_wal_size\"は最低でも\"wal_segment_size\"の2倍である必 msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"max_wal_size\"は最低でも\"wal_segment_size\"の2倍である必要があります。" -#: 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:2205 +#: 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:2225 #, 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:2231 +#: access/transam/xlog.c:4356 commands/user.c:2546 commands/variable.c:173 utils/error/elog.c:2251 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "不明なキーワードです: \"%s\"" @@ -2249,184 +2254,184 @@ msgstr "データベースシステムは中断されました: %s まで動作 msgid "control file contains invalid database cluster state" msgstr "制御ファイル内のデータベース・クラスタ状態が不正です" -#: access/transam/xlog.c:5502 +#: access/transam/xlog.c:5503 #, c-format msgid "WAL ends before end of online backup" msgstr "オンラインバックアップの終了より前にWALが終了しました" -#: access/transam/xlog.c:5503 +#: access/transam/xlog.c:5504 #, 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:5507 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WALが一貫性があるリカバリポイントより前で終了しました" -#: access/transam/xlog.c:5552 +#: access/transam/xlog.c:5553 #, c-format msgid "selected new timeline ID: %u" msgstr "新しいタイムラインIDを選択: %u" -#: access/transam/xlog.c:5585 +#: access/transam/xlog.c:5586 #, c-format msgid "archive recovery complete" msgstr "アーカイブリカバリが完了しました" -#: access/transam/xlog.c:6191 +#: access/transam/xlog.c:6192 #, c-format msgid "shutting down" msgstr "シャットダウンしています" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6230 +#: access/transam/xlog.c:6231 #, 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:6243 #, 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:6308 #, 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" -#: access/transam/xlog.c:6330 +#: access/transam/xlog.c:6331 #, 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" -#: access/transam/xlog.c:6768 +#: access/transam/xlog.c:6776 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "データベースのシャットダウンに並行して、先行書き込みログが発生しました" -#: access/transam/xlog.c:7329 +#: access/transam/xlog.c:7337 #, c-format msgid "recovery restart point at %X/%X" msgstr "リカバリ再開ポイントは%X/%Xです" -#: access/transam/xlog.c:7331 +#: access/transam/xlog.c:7339 #, c-format msgid "Last completed transaction was at log time %s." msgstr "最後に完了したトランザクションはログ時刻 %s のものです" -#: access/transam/xlog.c:7579 +#: access/transam/xlog.c:7587 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "復帰ポイント\"%s\"が%X/%Xに作成されました" -#: access/transam/xlog.c:7786 +#: access/transam/xlog.c:7794 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "オンラインバックアップはキャンセルされ、リカバリを継続できません" -#: access/transam/xlog.c:7843 +#: access/transam/xlog.c:7852 #, 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:7910 #, 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:7939 #, 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:8206 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "ライトスルーファイル\"%s\"をfsyncできませんでした: %m" -#: access/transam/xlog.c:8202 +#: access/transam/xlog.c:8211 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "ファイル\"%s\"をfdatasyncできませんでした: %m" -#: access/transam/xlog.c:8287 access/transam/xlog.c:8610 +#: access/transam/xlog.c:8296 access/transam/xlog.c:8619 #, 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:8297 access/transam/xlog.c:8620 access/transam/xlogfuncs.c:254 #, c-format 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:8302 #, c-format msgid "backup label too long (max %d bytes)" msgstr "バックアップラベルが長すぎます (最大%dバイト)" -#: access/transam/xlog.c:8414 +#: access/transam/xlog.c:8423 #, 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:8416 access/transam/xlog.c:8699 +#: access/transam/xlog.c:8425 access/transam/xlog.c:8708 #, 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:8483 backup/basebackup.c:1351 utils/adt/misc.c:354 +#: access/transam/xlog.c:8492 backup/basebackup.c:1355 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:8499 backup/basebackup.c:1360 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:8658 backup/basebackup.c:1221 #, c-format msgid "the standby was promoted during online backup" msgstr "オンラインバックアップ中にスタンバイが昇格しました" -#: access/transam/xlog.c:8650 backup/basebackup.c:1218 +#: access/transam/xlog.c:8659 backup/basebackup.c:1222 #, 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:8706 #, 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:8813 +#: access/transam/xlog.c:8822 #, 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:8836 #, 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:8838 #, 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:8836 +#: access/transam/xlog.c:8845 #, c-format msgid "all required WAL segments have been archived" msgstr "必要なすべての WAL セグメントがアーカイブされました" -#: access/transam/xlog.c:8840 +#: access/transam/xlog.c:8849 #, 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:8888 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "バックエンドがpg_backup_stopの呼び出し前に終了したため、バックアップは異常終了しました" @@ -3313,48 +3318,48 @@ msgstr "圧縮詳細は圧縮が有効でない場合は指定できません" msgid "invalid compression specification: %s" msgstr "不正な圧縮指定: %s" -#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#: backup/basebackup.c:1116 backup/basebackup.c:1298 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "\"%s\"というファイルまたはディレクトリの情報を取得できませんでした。: %m" -#: backup/basebackup.c:1430 +#: backup/basebackup.c:1434 #, c-format msgid "skipping special file \"%s\"" msgstr "スペシャルファイル\"%s\"をスキップしています" -#: backup/basebackup.c:1542 +#: backup/basebackup.c:1546 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "ファイル\"%2$s\"セグメント番号%1$dは不正です" -#: backup/basebackup.c:1574 +#: backup/basebackup.c:1578 #, 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 +#: backup/basebackup.c:1662 #, 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 +#: backup/basebackup.c:1669 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "ファイル\"%s\"における以降のチェックサムエラーは報告されません" -#: backup/basebackup.c:1721 +#: 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個のチェックサムエラーが発生しました" -#: backup/basebackup.c:1767 +#: backup/basebackup.c:1771 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "ファイル名がtarフォーマットに対して長すぎます: \"%s\"" -#: backup/basebackup.c:1772 +#: backup/basebackup.c:1776 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "シンボリックリンクのリンク先tarのフォーマットにとって長すぎます: ファイル名 \"%s\", リンク先 \"%s\"" @@ -3389,7 +3394,7 @@ msgstr "\"%s\"ロールの権限を持つロールのみが、サーバー上に msgid "relative path not allowed for backup stored on server" msgstr "サーバー上に格納されるバックアップでは相対パスは指定できません" -#: 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 storage/file/copydir.c:47 +#: 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 storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" @@ -3614,9 +3619,9 @@ msgstr "デフォルト権限を変更する権限がありません" msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "GRANT/REVOKE ON SCHEMAS を使っている時には IN SCHEMA 句は指定できません" -#: 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:12248 commands/tablecmds.c:12429 commands/tablecmds.c:12590 commands/tablecmds.c:13752 commands/tablecmds.c:16283 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:1595 catalog/catalog.c:652 catalog/objectaddress.c:1561 catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 commands/sequence.c:1670 commands/tablecmds.c:7388 commands/tablecmds.c:7544 commands/tablecmds.c:7594 commands/tablecmds.c:7668 commands/tablecmds.c:7738 commands/tablecmds.c:7854 commands/tablecmds.c:7948 commands/tablecmds.c:8007 commands/tablecmds.c:8096 commands/tablecmds.c:8126 commands/tablecmds.c:8254 +#: commands/tablecmds.c:8336 commands/tablecmds.c:8470 commands/tablecmds.c:8582 commands/tablecmds.c:12307 commands/tablecmds.c:12488 commands/tablecmds.c:12649 commands/tablecmds.c:13844 commands/tablecmds.c:16375 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:3415 parser/parse_utilcmd.c:3451 parser/parse_utilcmd.c:3493 utils/adt/acl.c:2876 +#: utils/adt/ruleutils.c:2797 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の列\"%1$s\"は存在しません" @@ -3626,12 +3631,12 @@ msgstr "リレーション\"%2$s\"の列\"%1$s\"は存在しません" msgid "\"%s\" is an index" msgstr "\"%s\"はインデックスです" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13909 commands/tablecmds.c:17190 +#: catalog/aclchk.c:1847 commands/tablecmds.c:14001 commands/tablecmds.c:17277 #, 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:17154 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:1855 catalog/objectaddress.c:1401 commands/sequence.c:1178 commands/tablecmds.c:254 commands/tablecmds.c:17241 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\"はシーケンスではありません" @@ -3811,7 +3816,7 @@ msgstr "ルーチン %s へのアクセスが拒否されました" 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:2759 commands/sequence.c:666 commands/sequence.c:892 commands/sequence.c:934 commands/sequence.c:975 commands/sequence.c:1768 commands/sequence.c:1814 #, c-format msgid "permission denied for sequence %s" msgstr "シーケンス %s へのアクセスが拒否されました" @@ -4051,74 +4056,74 @@ msgstr "OID %uのスキーマは存在しません" msgid "type with OID %u does not exist" msgstr "OID %uの型は存在しません" -#: catalog/catalog.c:449 +#: catalog/catalog.c:470 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "リレーション\"%s\"での未使用のOIDを探索を継続中" -#: catalog/catalog.c:451 +#: catalog/catalog.c:472 #, 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:476 +#: catalog/catalog.c:497 #, 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:609 catalog/catalog.c:676 +#: catalog/catalog.c:630 catalog/catalog.c:697 #, c-format msgid "must be superuser to call %s()" msgstr "%s()を呼び出すにはスーパーユーザーである必要があります" -#: catalog/catalog.c:618 +#: catalog/catalog.c:639 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() はシステムカタログでのみ使用できます" -#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264 +#: catalog/catalog.c:644 parser/parse_utilcmd.c:2280 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "インデックス\"%s\"はテーブル\"%s\"には属していません" -#: catalog/catalog.c:640 +#: catalog/catalog.c:661 #, c-format msgid "column \"%s\" is not of type oid" msgstr "列\"%s\"はoid型ではありません" -#: catalog/catalog.c:647 +#: catalog/catalog.c:668 #, 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:553 catalog/pg_shdepend.c:658 #, 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:845 catalog/dependency.c:1072 #, c-format msgid "cannot drop %s because %s requires it" msgstr "%2$sが必要としているため%1$sを削除できません" -#: catalog/dependency.c:840 catalog/dependency.c:1067 +#: catalog/dependency.c:847 catalog/dependency.c:1074 #, c-format msgid "You can drop %s instead." msgstr "代わりに%sを削除できます" -#: catalog/dependency.c:1146 catalog/dependency.c:1155 +#: catalog/dependency.c:1153 catalog/dependency.c:1162 #, c-format msgid "%s depends on %s" msgstr "%sは%sに依存しています" -#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#: catalog/dependency.c:1177 catalog/dependency.c:1186 #, c-format msgid "drop cascades to %s" msgstr "削除は%sへ伝播します" -#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 +#: catalog/dependency.c:1194 catalog/pg_shdepend.c:823 #, c-format msgid "" "\n" @@ -4130,39 +4135,39 @@ msgstr[0] "" "\n" "および%d個のその他のオブジェクト(一覧についてはサーバーログを参照してください)" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, 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:14396 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 +#: catalog/dependency.c:1209 catalog/dependency.c:1216 catalog/dependency.c:1227 commands/tablecmds.c:1332 commands/tablecmds.c:14488 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 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#: catalog/dependency.c:1210 catalog/dependency.c:1217 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "依存しているオブジェクトも削除するにはDROP ... CASCADEを使用してください" -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1214 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "他のオブジェクトが依存しているため指定したオブジェクトを削除できません" -#: catalog/dependency.c:1215 +#: catalog/dependency.c:1222 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "削除は他の%d個のオブジェクトに対しても行われます" -#: catalog/dependency.c:1899 +#: catalog/dependency.c:1908 #, 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:2433 parser/parse_relation.c:3413 parser/parse_relation.c:3423 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の列\"%1$d\"は存在しません" @@ -4177,12 +4182,12 @@ msgstr "\"%s.%s\"を作成する権限がありません" 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:466 commands/tablecmds.c:2371 commands/tablecmds.c:3044 commands/tablecmds.c:6971 #, c-format msgid "tables can have at most %d columns" msgstr "テーブルは最大で%d列までしか持てません" -#: catalog/heap.c:484 commands/tablecmds.c:7233 +#: catalog/heap.c:484 commands/tablecmds.c:7278 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "列名\"%s\"はシステム用の列名に使われています" @@ -4193,168 +4198,168 @@ 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:578 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "パーティションキー列%sは疑似型%sです" -#: catalog/heap.c:580 +#: catalog/heap.c:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "列\"%s\"は疑似型%sです" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, 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:669 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "照合可能な型 %2$s のパーティションキー列%1$sのための照合順序が見つかりませんでした" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "照合可能な型 %2$s を持つ列\"%1$s\"のための照合順序を決定できませんでした" -#: catalog/heap.c:1148 catalog/index.c:887 commands/createas.c:408 commands/tablecmds.c:3987 +#: catalog/heap.c:1151 catalog/index.c:887 commands/createas.c:408 commands/tablecmds.c:3996 #, 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: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 #, c-format msgid "type \"%s\" already exists" msgstr "型\"%s\"はすでに存在します" -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, 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:1208 #, c-format msgid "toast relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にTOASTのrelfilenumberの値が設定されていません" -#: catalog/heap.c:1216 +#: catalog/heap.c:1219 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にpg_classのヒープOIDが設定されていません" -#: catalog/heap.c:1226 +#: catalog/heap.c:1229 #, c-format msgid "relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にrelfilenumberの値が設定されていません" -#: catalog/heap.c:2119 +#: catalog/heap.c:2129 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"に NO INHERIT 制約は追加できません" -#: catalog/heap.c:2394 +#: catalog/heap.c:2404 #, 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:2574 catalog/index.c:901 catalog/pg_constraint.c:682 commands/tablecmds.c:8957 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "すでに制約\"%s\"はリレーション\"%s\"に存在します" -#: catalog/heap.c:2571 +#: catalog/heap.c:2581 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "制約\"%s\"は、リレーション\"%s\"上の継承されていない制約と競合します" -#: catalog/heap.c:2582 +#: catalog/heap.c:2592 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "制約\"%s\"は、リレーション\"%s\"上の継承された制約と競合します" -#: catalog/heap.c:2592 +#: catalog/heap.c:2602 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "制約\"%s\"は、リレーション\"%s\"上の NOT VALID 制約と競合します" -#: catalog/heap.c:2597 +#: catalog/heap.c:2607 #, 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:15218 commands/tablecmds.c:15359 +#: catalog/heap.c:2633 catalog/pg_constraint.c:811 commands/tablecmds.c:2669 commands/tablecmds.c:3196 commands/tablecmds.c:6903 commands/tablecmds.c:15310 commands/tablecmds.c:15451 #, c-format msgid "too many inheritance parents" msgstr "継承の親テーブルが多すぎます" -#: catalog/heap.c:2707 +#: catalog/heap.c:2717 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "生成カラム\"%s\"はカラム生成式中では使用できません" -#: catalog/heap.c:2709 +#: catalog/heap.c:2719 #, c-format msgid "A generated column cannot reference another generated column." msgstr "生成カラムは他の生成カラムを参照できません。" -#: catalog/heap.c:2715 +#: catalog/heap.c:2725 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "列生成式内では行全体参照は使用できません" -#: catalog/heap.c:2716 +#: catalog/heap.c:2726 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "これは生成列を自身の値に依存させることにつながります。" -#: catalog/heap.c:2771 +#: catalog/heap.c:2781 #, c-format msgid "generation expression is not immutable" msgstr "生成式は不変ではありません" -#: catalog/heap.c:2799 rewrite/rewriteHandler.c:1297 +#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1297 #, 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:2814 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 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "式を書き換えるかキャストする必要があります。" -#: catalog/heap.c:2851 +#: catalog/heap.c:2861 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "検査制約ではテーブル\"%s\"のみを参照することができます" -#: catalog/heap.c:3157 +#: catalog/heap.c:3167 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "ON COMMITと外部キーの組み合わせはサポートされていません" -#: catalog/heap.c:3158 +#: catalog/heap.c:3168 #, 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:3173 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "外部キー制約で参照されているテーブルを削除できません" -#: catalog/heap.c:3164 +#: catalog/heap.c:3174 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "テーブル\"%s\"は\"%s\"を参照します。" -#: catalog/heap.c:3166 +#: catalog/heap.c:3176 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "同時にテーブル\"%s\"がtruncateされました。TRUNCATE ... CASCADEを使用してください。" -#: catalog/index.c:225 parser/parse_utilcmd.c:2170 +#: catalog/index.c:225 parser/parse_utilcmd.c:2186 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "テーブル\"%s\"に複数のプライマリキーを持たせることはできません" @@ -4374,7 +4379,7 @@ msgstr "プライマリキーを式にすることはできません" 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:786 catalog/index.c:1943 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "ユーザーによるシステムカタログテーブルに対するインデックスの定義はサポートされていません" @@ -4389,7 +4394,7 @@ msgstr "非決定的照合順序は演算子クラス \"%s\" ではサポート msgid "concurrent index creation on system catalog tables is not supported" msgstr "システムカタログテーブルの並行的インデックス作成はサポートされていません" -#: catalog/index.c:850 catalog/index.c:1318 +#: catalog/index.c:850 catalog/index.c:1319 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "排他制約のためのインデックスの並列的作成はサポートされていません" @@ -4414,37 +4419,37 @@ msgstr "バイナリアップグレードモード中にpg_classのインデッ msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にインデックスのrelfilenumberの値が設定されていません" -#: catalog/index.c:2241 +#: catalog/index.c:2242 #, c-format msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLYはトランザクション内で最初の操作でなければなりません" -#: catalog/index.c:3675 +#: catalog/index.c:3676 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "他のセッションの一時テーブルはインデクス再構築できません" -#: catalog/index.c:3686 commands/indexcmds.c:3607 +#: catalog/index.c:3687 commands/indexcmds.c:3607 #, 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:3703 commands/indexcmds.c:3487 commands/indexcmds.c:3631 commands/tablecmds.c:3411 #, c-format msgid "cannot move system relation \"%s\"" msgstr "システムリレーション\"%s\"を移動できません" -#: catalog/index.c:3846 +#: catalog/index.c:3847 #, c-format msgid "index \"%s\" was reindexed" msgstr "インデックス\"%s\"のインデックス再構築が完了しました" -#: catalog/index.c:3983 +#: catalog/index.c:3984 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "TOASTテーブルの無効なインデックス \"%s.%s\"の再作成はできません、スキップします " -#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 commands/trigger.c:5736 +#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 commands/trigger.c:5738 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "データベース間の参照は実装されていません: \"%s.%s.%s\"" @@ -4514,17 +4519,17 @@ msgstr "テキスト検索辞書\"%s\"は存在しません" msgid "text search template \"%s\" does not exist" msgstr "テキスト検索テンプレート\"%s\"は存在しません" -#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162 utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635 +#: catalog/namespace.c:2767 commands/tsearchcmds.c:1168 utils/adt/regproc.c:1329 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:2880 parser/parse_expr.c:832 parser/parse_target.c:1260 #, c-format msgid "cross-database references are not implemented: %s" msgstr "データベース間の参照は実装されていません: %s" -#: catalog/namespace.c:2886 gram.y:18569 gram.y:18609 parser/parse_expr.c:839 parser/parse_target.c:1253 +#: catalog/namespace.c:2886 gram.y:18569 gram.y:18609 parser/parse_expr.c:839 parser/parse_target.c:1267 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "修飾名が不適切です(ドット区切りの名前が多すぎます): %s" @@ -4539,7 +4544,7 @@ msgstr "一時スキーマへ、または一時スキーマからオブジェク msgid "cannot move objects into or out of TOAST schema" msgstr "TOASTスキーマへ、または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:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 commands/tablecmds.c:1277 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "スキーマ\"%s\"は存在しません" @@ -4574,22 +4579,22 @@ msgstr "リカバリ中は一時テーブルを作成できません" 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:12365 +#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2203 commands/tablecmds.c:12424 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\"はテーブルではありません" -#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 commands/tablecmds.c:17159 commands/view.c:119 +#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 commands/tablecmds.c:17246 commands/view.c:119 #, 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:17164 +#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 commands/tablecmds.c:17251 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\"は実体化ビューではありません" -#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 commands/tablecmds.c:17169 +#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 commands/tablecmds.c:17256 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\"は外部テーブルではありません" @@ -4609,7 +4614,7 @@ msgstr "列名を修飾する必要があります" msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の列\"%1$s\"に対するデフォルト値が存在しません" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 utils/adt/acl.c:4441 +#: catalog/objectaddress.c:1656 commands/functioncmds.c:138 commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 utils/adt/acl.c:4441 #, c-format msgid "type \"%s\" does not exist" msgstr "型\"%s\"は存在しません" @@ -4699,7 +4704,7 @@ msgstr "引数リストの長さはちょうど%dである必要があります" msgid "must be owner of large object %u" msgstr "ラージオブジェクト %u の所有者である必要があります" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2523 commands/functioncmds.c:1562 #, c-format msgid "must be owner of type %s or type %s" msgstr "型%sまたは型%sの所有者である必要があります" @@ -5160,7 +5165,7 @@ 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 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:692 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 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 #, c-format msgid "function %s does not exist" @@ -5351,7 +5356,7 @@ msgstr "パーティション\"%s\"を取り外せません" 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:15474 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4623 commands/tablecmds.c:15566 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "ALTER TABLE ... DETACH PARTITION ... FINALIZE を実行して保留中の取り外し処理を完了させてください。" @@ -5526,7 +5531,7 @@ msgstr "SQL関数は型%sを返すことができません" 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:988 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL関数\"%s\"" @@ -5798,7 +5803,7 @@ msgstr "直列化関数は集約遷移データの型が%sの場合にだけ指 msgid "must specify both or neither of serialization and deserialization functions" msgstr "直列化関数と復元関数は両方指定するか、両方指定しないかのどちらかである必要があります" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:438 commands/functioncmds.c:640 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "パラメータ\"parallel\"はSAVE、RESTRICTEDまたはUNSAFEのいずれかでなければなりません" @@ -5943,22 +5948,22 @@ msgstr "\"%s.%s\"を解析しています" msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "リレーション\"%2$s\"の列\"%1$s\"が2回以上現れます" -#: commands/analyze.c:787 +#: commands/analyze.c:792 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "テーブル\"%s.%s.%s\"に対する自動ANALYZE\n" -#: commands/analyze.c:1334 +#: commands/analyze.c:1339 #, 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:1418 +#: commands/analyze.c:1423 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "継承ツリー\"%s.%s\"のANALYZEをスキップします --- このツリーには子テーブルがありません" -#: commands/analyze.c:1516 +#: commands/analyze.c:1521 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "継承ツリー\"%s.%s\"のANALYZEをスキップします --- このツリーにはアナライズ可能な子テーブルがありません" @@ -6018,7 +6023,7 @@ msgstr "他のセッションの一時テーブルをクラスタ化できませ msgid "there is no previously clustered index for table \"%s\"" msgstr "テーブル\"%s\"には事前にクラスタ化されたインデックスはありません" -#: commands/cluster.c:192 commands/tablecmds.c:14210 commands/tablecmds.c:16053 +#: commands/cluster.c:192 commands/tablecmds.c:14302 commands/tablecmds.c:16145 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "テーブル\"%2$s\"にはインデックス\"%1$s\"は存在しません" @@ -6033,7 +6038,7 @@ msgstr "共有カタログをクラスタ化できません" msgid "cannot vacuum temporary tables of other sessions" msgstr "他のセッションの一時テーブルに対してはVACUUMを実行できません" -#: commands/cluster.c:513 commands/tablecmds.c:16063 +#: commands/cluster.c:513 commands/tablecmds.c:16155 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\"はテーブル\"%s\"のインデックスではありません" @@ -6092,7 +6097,7 @@ msgstr "" msgid "collation attribute \"%s\" not recognized" msgstr "照合順序の属性\"%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:125 commands/collationcmds.c:131 commands/define.c:389 commands/tablecmds.c:7929 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 #, c-format msgid "conflicting or redundant options" msgstr "競合するオプション、あるいは余計なオプションがあります" @@ -6161,7 +6166,7 @@ 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:13912 commands/tablecmds.c:17192 commands/tablecmds.c:17213 commands/typecmds.c:3637 commands/typecmds.c:3720 commands/typecmds.c:4013 +#: commands/collationcmds.c:423 commands/subscriptioncmds.c:1331 commands/tablecmds.c:7754 commands/tablecmds.c:7764 commands/tablecmds.c:14004 commands/tablecmds.c:17279 commands/tablecmds.c:17300 commands/typecmds.c:3637 commands/typecmds.c:3720 commands/typecmds.c:4013 #, c-format msgid "Use %s instead." msgstr "代わりに%sを使用してください" @@ -6471,12 +6476,12 @@ msgstr "列\"%s\"は生成カラムです" 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:842 commands/indexcmds.c:1886 commands/statscmds.c:242 commands/tablecmds.c:2402 commands/tablecmds.c:3124 commands/tablecmds.c:3635 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:2431 commands/trigger.c:958 parser/parse_target.c:1070 parser/parse_target.c:1081 +#: commands/copy.c:849 commands/tablecmds.c:2428 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\"が複数指定されました" @@ -6928,8 +6933,8 @@ msgstr "データベース作成の方法\"%s\"は不正です" #: commands/dbcommands.c:1017 #, 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 #, c-format @@ -7204,7 +7209,7 @@ 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:3023 storage/ipc/procarray.c:3797 +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3809 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -7255,7 +7260,7 @@ msgstr "%sの引数は型名でなければなりません" msgid "invalid argument for %s: \"%s\"" msgstr "%sの引数が不正です: \"%s\"" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 utils/adt/ruleutils.c:2897 +#: commands/dropcmds.c:101 commands/functioncmds.c:1388 utils/adt/ruleutils.c:2895 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\"は集約関数です" @@ -7265,12 +7270,12 @@ msgstr "\"%s\"は集約関数です" 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:16478 tcop/utility.c:1336 +#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3719 commands/tablecmds.c:3877 commands/tablecmds.c:3929 commands/tablecmds.c:16570 tcop/utility.c:1336 #, 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:188 commands/dropcmds.c:287 commands/tablecmds.c:1282 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "スキーマ\"%s\"は存在しません、スキップします" @@ -7891,362 +7896,362 @@ msgstr "外部データラッパー\"%s\"は IMPORT FOREIGN SCHEMA をサポー msgid "importing foreign table \"%s\"" msgstr "外部テーブル\"%s\"をインポートします" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:110 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL関数はシェル型%sを返却することができません" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:115 #, c-format msgid "return type %s is only a shell" msgstr "戻り値型%sは単なるシェル型です" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:144 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:150 #, c-format msgid "type \"%s\" is not yet defined" msgstr "型\"%s\"は未定義です" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:151 #, c-format msgid "Creating a shell type definition." msgstr "シェル型の定義を作成します" -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:250 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL関数はシェル型\"%s\"を受け付けられません" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:256 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "集約はシェル型\"%s\"を受け付けられません" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:261 #, c-format msgid "argument type %s is only a shell" msgstr "引数型%sは単なるシェルです" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:271 #, c-format msgid "type %s does not exist" msgstr "型%sは存在しません" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:285 #, c-format msgid "aggregates cannot accept set arguments" msgstr "集約は集合引数を受け付けられません" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:289 #, c-format msgid "procedures cannot accept set arguments" msgstr "プロシージャは集合引数を受け付けません" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:293 #, c-format msgid "functions cannot accept set arguments" msgstr "関数は集合を引数として受け付けられません" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:303 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "VARIADIC パラメータは最後の入力パラメータでなければなりません" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:323 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "VARIADIC パラメータは最後のパラメータでなければなりません" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:348 #, c-format msgid "VARIADIC parameter must be an array" msgstr "VARIADIC パラメータは配列でなければなりません" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:393 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "パラメータ\"%s\"が複数指定されました" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:411 #, c-format msgid "only input parameters can have default values" msgstr "入力パラメータのみがデフォルト値を持てます" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:426 #, c-format msgid "cannot use table references in parameter default value" msgstr "パラメータのデフォルト値としてテーブル参照を使用できません" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:450 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "デフォルト値を持つパラメータの後にある入力パラメータは、必ずデフォルト値を持たなければなりません" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:460 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "プロシージャの出力パラメータはデフォルト値を持つパラメータの後には置けません" -#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#: commands/functioncmds.c:602 commands/functioncmds.c:781 #, c-format msgid "invalid attribute in procedure definition" msgstr "プロシージャ定義内の不正な属性" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:698 #, c-format msgid "support function %s must return type %s" msgstr "サポート関数%sは%s型を返さなければなりません" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:709 #, c-format msgid "must be superuser to specify a support function" msgstr "サポート関数を指定するにはスーパーユーザーである必要があります" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:830 commands/functioncmds.c:1433 #, c-format msgid "COST must be positive" msgstr "COSTは正数でなければなりません" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:838 commands/functioncmds.c:1441 #, c-format msgid "ROWS must be positive" msgstr "ROWSは正数でなければなりません" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:867 #, c-format msgid "no function body specified" msgstr "関数本体の指定がありません" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:872 #, c-format msgid "duplicate function body specified" msgstr "関数本体の指定が重複しています" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:877 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "インラインのSQL関数本体は言語指定がSQLの場合にのみ有効です" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:919 #, 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:945 commands/functioncmds.c:964 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "%sはクォートしない関数本体ではサポートされません" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:992 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "言語\"%s\"ではAS項目は1つだけ必要です" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1097 #, c-format msgid "no language specified" msgstr "言語が指定されていません" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 commands/proclang.c:237 +#: commands/functioncmds.c:1105 commands/functioncmds.c:2106 commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "言語\"%s\"は存在しません" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1107 commands/functioncmds.c:2108 #, 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:1140 commands/functioncmds.c:1425 #, c-format msgid "only superuser can define a leakproof function" msgstr "スーパーユーザーのみがリークプルーフ関数を定義することができます" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1191 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "OUTパラメータで定義されているため、関数の戻り値型は%sでなければなりません" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1204 #, c-format msgid "function result type must be specified" msgstr "関数の結果型を指定しなければなりません" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1257 commands/functioncmds.c:1445 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "関数が集合を返す場合にROWSは適していません" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1548 #, c-format msgid "source data type %s is a pseudo-type" msgstr "変換元データ型%sは疑似型です" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1554 #, c-format msgid "target data type %s is a pseudo-type" msgstr "変換先データ型%sは疑似型です" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1578 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "元のデータ型がドメインであるため、キャストは無視されます" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1583 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "対象のデータ型がドメインであるため、キャストは無視されます" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1608 #, c-format msgid "cast function must take one to three arguments" msgstr "キャスト関数の引数は1つから3つまでです" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1614 #, 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:1618 #, c-format msgid "second argument of cast function must be type %s" msgstr "キャスト関数の第2引数は%s型でなければなりません" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1623 #, c-format msgid "third argument of cast function must be type %s" msgstr "キャスト関数の第3引数は%s型でなければなりません" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1630 #, 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:1641 #, c-format msgid "cast function must not be volatile" msgstr "キャスト関数はvolatileではいけません" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1646 #, c-format msgid "cast function must be a normal function" msgstr "キャスト関数は通常の関数でなければなりません" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1650 #, c-format msgid "cast function must not return a set" msgstr "キャスト関数は集合を返してはいけません" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1676 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "WITHOUT FUNCTION指定のキャストを作成するにはスーパーユーザーである必要があります" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1691 #, c-format msgid "source and target data types are not physically compatible" msgstr "変換元と変換先のデータ型の間には物理的な互換性がありません" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1706 #, c-format msgid "composite data types are not binary-compatible" msgstr "複合データ型はバイナリ互換ではありません" -#: commands/functioncmds.c:1711 +#: commands/functioncmds.c:1712 #, c-format msgid "enum data types are not binary-compatible" msgstr "列挙データ型はバイナリ互換ではありません" -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1718 #, c-format msgid "array data types are not binary-compatible" msgstr "配列データ型はバイナリ互換ではありません" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1735 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "ドメインデータ型はバイナリ互換としてマークされていてはなりません" -#: commands/functioncmds.c:1744 +#: commands/functioncmds.c:1745 #, c-format msgid "source data type and target data type are the same" msgstr "変換元と変換先のデータ型が同一です" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1778 #, c-format msgid "transform function must not be volatile" msgstr "変換関数はvolatileではいけません" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1782 #, c-format msgid "transform function must be a normal function" msgstr "変換関数は通常の関数でなければなりません" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1786 #, c-format msgid "transform function must not return a set" msgstr "変換関数は集合を返してはいけません" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1790 #, c-format msgid "transform function must take one argument" msgstr "変換関数は引数を1つとらなければなりません" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1794 #, c-format msgid "first argument of transform function must be type %s" msgstr "変換関数の第1引数は%s型でなければなりません" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1833 #, c-format msgid "data type %s is a pseudo-type" msgstr "データ型%sは擬似型です" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1839 #, c-format msgid "data type %s is a domain" msgstr "データ型%sはドメインです" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1879 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "FROM SQL関数の戻り値のデータ型は%sでなければなりません" -#: commands/functioncmds.c:1904 +#: commands/functioncmds.c:1905 #, 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:1932 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "型%s、言語\"%s\"の変換はすでに存在します" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2018 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "型%s、言語\"%s\"の変換は存在しません" -#: commands/functioncmds.c:2041 +#: commands/functioncmds.c:2042 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "関数%sはすでにスキーマ\"%s\"内に存在します" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2093 #, c-format msgid "no inline code specified" msgstr "インラインコードの指定がありません" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2139 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "言語\"%s\"ではインラインコード実行をサポートしていません" -#: commands/functioncmds.c:2233 +#: commands/functioncmds.c:2234 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -8282,12 +8287,12 @@ msgstr "パーティション親テーブル\"%s\"には排他制約を作成で 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:766 commands/tablecmds.c:785 commands/tablespace.c:1184 #, 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:798 commands/tablecmds.c:816 commands/tablecmds.c:3418 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "共有リレーションのみをpg_globalテーブル空間に格納することができます" @@ -8362,12 +8367,12 @@ msgstr "テーブル\"%s\"は外部テーブルを子テーブルとして含ん msgid "functions in index predicate must be marked IMMUTABLE" msgstr "インデックスの述部の関数はIMMUTABLEマークが必要です" -#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2513 parser/parse_utilcmd.c:2648 +#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2529 parser/parse_utilcmd.c:2664 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "キーとして指名された列\"%s\"は存在しません" -#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1812 +#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1817 #, c-format msgid "expressions are not supported in included columns" msgstr "包含列では式はサポートされません" @@ -8402,7 +8407,7 @@ msgstr "包含列は NULLS FIRST/LAST オプションをサポートしません msgid "could not determine which collation to use for index expression" msgstr "インデックス式で使用する照合順序を特定できませんでした" -#: commands/indexcmds.c:2022 commands/tablecmds.c:17493 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:2022 commands/tablecmds.c:17580 commands/typecmds.c:807 parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3773 utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" msgstr "%s 型では照合順序はサポートされません" @@ -8437,7 +8442,7 @@ msgstr "アクセスメソッド\"%s\"はASC/DESCオプションをサポート msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "アクセスメソッド\"%s\"はNULLS FIRST/LASTオプションをサポートしません" -#: commands/indexcmds.c:2204 commands/tablecmds.c:17518 commands/tablecmds.c:17524 commands/typecmds.c:2301 +#: commands/indexcmds.c:2204 commands/tablecmds.c:17605 commands/tablecmds.c:17611 commands/typecmds.c:2301 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "アクセスメソッド\"%2$s\"にはデータ型%1$s用のデフォルトの演算子クラスがありません" @@ -8847,7 +8852,7 @@ msgstr "JOIN推定関数 %s は %s型を返す必要があります" 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:17080 commands/tablecmds.c:17115 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/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 commands/tablecmds.c:1613 commands/tablecmds.c:2216 commands/tablecmds.c:3529 commands/tablecmds.c:6411 commands/tablecmds.c:9238 commands/tablecmds.c:17167 commands/tablecmds.c:17202 commands/trigger.c:323 commands/trigger.c:1339 commands/trigger.c:1449 rewrite/rewriteDefine.c:275 rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "権限がありません: \"%s\"はシステムカタログです" @@ -8897,7 +8902,7 @@ msgstr "カーソル名が不正です: 空ではいけません" 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:2844 utils/adt/xml.c:3014 +#: commands/portalcmds.c:189 commands/portalcmds.c:242 executor/execCurrent.c:70 utils/adt/xml.c:2896 utils/adt/xml.c:3066 #, c-format msgid "cursor \"%s\" does not exist" msgstr "カーソル\"%s\"は存在しません" @@ -9177,122 +9182,122 @@ msgid "cannot set security label on relation \"%s\"" msgstr "リレーション\"%s\"のセキュリティラベルは設定できません" # (%s) -#: commands/sequence.c:754 +#: commands/sequence.c:761 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "nextval: シーケンス\"%s\"の最大値(%lld)に達しました" -#: commands/sequence.c:773 +#: commands/sequence.c:780 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "nextval: シーケンス\"%s\"の最小値(%lld)に達しました" -#: commands/sequence.c:891 +#: commands/sequence.c:898 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "本セッションでシーケンス\"%s\"のcurrvalはまだ定義されていません" -#: commands/sequence.c:910 commands/sequence.c:916 +#: commands/sequence.c:917 commands/sequence.c:923 #, c-format msgid "lastval is not yet defined in this session" msgstr "本セッションでlastvalはまだ定義されていません" -#: commands/sequence.c:996 +#: commands/sequence.c:1003 #, 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:1372 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "不正なオプション SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1398 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "識別列の型はsmallint、integerまたはbigintでなくてはなりません" -#: commands/sequence.c:1392 +#: commands/sequence.c:1399 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "シーケンスの型はsmallint、integerまたはbigintでなくてはなりません" -#: commands/sequence.c:1426 +#: commands/sequence.c:1433 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENTはゼロではいけません" -#: commands/sequence.c:1474 +#: commands/sequence.c:1481 #, 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:1513 #, 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:1521 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld)はMAXVALUE (%lld)より小さくなければなりません" -#: commands/sequence.c:1535 +#: commands/sequence.c:1542 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "STARTの値(%lld)はMINVALUE(%lld)より小さくすることはできません" -#: commands/sequence.c:1541 +#: commands/sequence.c:1548 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "STARTの値(%lld)はMAXVALUE(%lld)より大きくすることはできません" -#: commands/sequence.c:1565 +#: commands/sequence.c:1572 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "RESTART の値(%lld)は MINVALUE(%lld) より小さくすることはできません" -#: commands/sequence.c:1571 +#: commands/sequence.c:1578 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "RESTART の値(%lld)は MAXVALUE(%lld) より大きくすることはできません" -#: commands/sequence.c:1582 +#: commands/sequence.c:1589 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "CACHE(%lld)はゼロより大きくなければなりません" -#: commands/sequence.c:1618 +#: commands/sequence.c:1625 #, c-format msgid "invalid OWNED BY option" msgstr "不正なOWNED BYオプションです" -#: commands/sequence.c:1619 +#: commands/sequence.c:1626 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "OWNED BY table.column または OWNED BY NONEを指定してください。" -#: commands/sequence.c:1644 +#: commands/sequence.c:1651 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "シーケンスの所有者をリレーション\"%s\"にはできません" -#: commands/sequence.c:1652 +#: commands/sequence.c:1659 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "シーケンスは関連するテーブルと同じ所有者でなければなりません" -#: commands/sequence.c:1656 +#: commands/sequence.c:1663 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "シーケンスは関連するテーブルと同じスキーマでなければなりません" -#: commands/sequence.c:1678 +#: commands/sequence.c:1685 #, c-format msgid "cannot change ownership of identity sequence" msgstr "識別シーケンスの所有者は変更できません" -#: commands/sequence.c:1679 commands/tablecmds.c:13899 commands/tablecmds.c:16498 +#: commands/sequence.c:1686 commands/tablecmds.c:13991 commands/tablecmds.c:16590 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "シーケンス\"%s\"はテーブル\"%s\"にリンクされています" @@ -9362,12 +9367,12 @@ msgstr "定形情報定義中の列名が重複しています" msgid "duplicate expression in statistics definition" msgstr "統計情報定義内に重複した式" -#: commands/statscmds.c:619 commands/tablecmds.c:8188 +#: commands/statscmds.c:619 commands/tablecmds.c:8233 #, c-format msgid "statistics target %d is too low" msgstr "統計情報目標%dは小さすぎます" -#: commands/statscmds.c:627 commands/tablecmds.c:8196 +#: commands/statscmds.c:627 commands/tablecmds.c:8241 #, c-format msgid "lowering statistics target to %d" msgstr "統計情報目標を%dに減らします" @@ -9425,7 +9430,7 @@ msgstr "サブスクリプションを作成する権限がありません" 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:745 commands/subscriptioncmds.c:878 replication/logical/tablesync.c:1334 replication/logical/worker.c:4616 #, c-format msgid "could not connect to the publisher: %s" msgstr "発行サーバーへの接続ができませんでした: %s" @@ -9547,7 +9552,7 @@ msgstr[0] "作成中のサブスクリプションは他のサブスクリプシ 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:2142 replication/logical/tablesync.c:893 replication/pgoutput/pgoutput.c:1112 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "テーブル\"%s.%s\"に対して、異なるパブリケーションで異なる列リストを使用することはできません" @@ -9644,7 +9649,7 @@ msgstr "実体化ビュー\"%s\"は存在しません、スキップします" 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:19002 parser/parse_utilcmd.c:2245 +#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19098 parser/parse_utilcmd.c:2261 #, c-format msgid "index \"%s\" does not exist" msgstr "インデックス\"%s\"は存在しません" @@ -9667,7 +9672,7 @@ msgstr "\"%s\"は型ではありません" msgid "Use DROP TYPE to remove a type." msgstr "型を削除するにはDROP TYPEを使用してください" -#: commands/tablecmds.c:282 commands/tablecmds.c:13738 commands/tablecmds.c:16203 +#: commands/tablecmds.c:282 commands/tablecmds.c:13830 commands/tablecmds.c:16295 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "外部テーブル\"%s\"は存在しません" @@ -9681,1311 +9686,1326 @@ msgstr "外部テーブル\"%s\"は存在しません、スキップします" msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "外部テーブルを削除するには DROP FOREIGN TABLE を使用してください。" -#: commands/tablecmds.c:700 +#: commands/tablecmds.c:701 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMITは一時テーブルでのみ使用できます" -#: commands/tablecmds.c:731 +#: commands/tablecmds.c:732 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "セキュリティー制限操作中は、一時テーブルを作成できません" -#: commands/tablecmds.c:767 commands/tablecmds.c:15048 +#: commands/tablecmds.c:768 commands/tablecmds.c:15140 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "リレーション\"%s\"が複数回継承されました" -#: commands/tablecmds.c:955 +#: commands/tablecmds.c:952 #, c-format msgid "specifying a table access method is not supported on a partitioned table" msgstr "パーティション親テーブルではテーブルアクセスメソッドの指定はサポートされていません" -#: commands/tablecmds.c:1048 +#: commands/tablecmds.c:1045 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\"はパーティションされていません" -#: commands/tablecmds.c:1142 +#: commands/tablecmds.c:1139 #, c-format msgid "cannot partition using more than %d columns" msgstr "%d以上の列を使ったパーティションはできません" -#: commands/tablecmds.c:1198 +#: commands/tablecmds.c:1195 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "パーティションテーブル\"%s\"では外部子テーブルを作成できません" -#: commands/tablecmds.c:1200 +#: commands/tablecmds.c:1197 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "テーブル\"%s\"はユニークインデックスを持っています" -#: commands/tablecmds.c:1365 +#: commands/tablecmds.c:1362 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLYは複数オブジェクトの削除をサポートしていません" -#: commands/tablecmds.c:1369 +#: commands/tablecmds.c:1366 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLYはCASCADEをサポートしません" -#: commands/tablecmds.c:1473 +#: commands/tablecmds.c:1470 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "パーティション親インデックス\"%s\"は並行的に削除することはできません" -#: commands/tablecmds.c:1761 +#: commands/tablecmds.c:1758 #, c-format msgid "cannot truncate only a partitioned table" msgstr "パーティションの親テーブルのみの切り詰めはできません" -#: commands/tablecmds.c:1762 +#: commands/tablecmds.c:1759 #, 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:1832 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "テーブル\"%s\"へのカスケードを削除します" -#: commands/tablecmds.c:2199 +#: commands/tablecmds.c:2196 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "外部テーブル\"%s\"の切り詰めはできません" -#: commands/tablecmds.c:2256 +#: commands/tablecmds.c:2253 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "他のセッションの一時テーブルを削除できません" -#: commands/tablecmds.c:2488 commands/tablecmds.c:14945 +#: commands/tablecmds.c:2485 commands/tablecmds.c:15037 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"からの継承はできません" -#: commands/tablecmds.c:2493 +#: commands/tablecmds.c:2490 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "パーティション子テーブル\"%s\"からの継承はできません" -#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475 parser/parse_utilcmd.c:2617 +#: commands/tablecmds.c:2498 parser/parse_utilcmd.c:2491 parser/parse_utilcmd.c:2633 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "継承しようとしたリレーション\"%s\"はテーブルまたは外部テーブルではありません" -#: commands/tablecmds.c:2513 +#: commands/tablecmds.c:2510 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "一時リレーションを永続リレーション\"%s\"のパーティション子テーブルとして作ることはできません" -#: commands/tablecmds.c:2522 commands/tablecmds.c:14924 +#: commands/tablecmds.c:2519 commands/tablecmds.c:15016 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "一時リレーション\"%s\"から継承することはできません" -#: commands/tablecmds.c:2532 commands/tablecmds.c:14932 +#: commands/tablecmds.c:2529 commands/tablecmds.c:15024 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "他のセッションの一時リレーションから継承することはできません" -#: commands/tablecmds.c:2585 +#: commands/tablecmds.c:2582 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "複数の継承される列\"%s\"の定義をマージしています" -#: commands/tablecmds.c:2597 +#: commands/tablecmds.c:2594 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "継承される列\"%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:2596 commands/tablecmds.c:2625 commands/tablecmds.c:2644 commands/tablecmds.c:2916 commands/tablecmds.c:2952 commands/tablecmds.c:2968 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:2612 +#: commands/tablecmds.c:2609 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "継承される列 \"%s\"の照合順序が競合しています" -#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 commands/tablecmds.c:6849 +#: commands/tablecmds.c:2611 commands/tablecmds.c:2932 commands/tablecmds.c:6894 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\"対\"%s\"" -#: commands/tablecmds.c:2626 +#: commands/tablecmds.c:2623 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "継承される列 \"%s\"の格納パラメーターが競合しています" -#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#: commands/tablecmds.c:2642 commands/tablecmds.c:2966 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "列\"%s\"の圧縮方式が競合しています" -#: commands/tablecmds.c:2661 +#: commands/tablecmds.c:2658 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "継承された列 \"%s\"の生成が競合しています" -#: commands/tablecmds.c:2767 commands/tablecmds.c:2822 commands/tablecmds.c:12464 parser/parse_utilcmd.c:1298 parser/parse_utilcmd.c:1341 parser/parse_utilcmd.c:1740 parser/parse_utilcmd.c:1848 +#: commands/tablecmds.c:2764 commands/tablecmds.c:2819 commands/tablecmds.c:12523 parser/parse_utilcmd.c:1265 parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1745 parser/parse_utilcmd.c:1853 #, c-format msgid "cannot convert whole-row table reference" msgstr "行全体テーブル参照を変換できません" -#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 +#: commands/tablecmds.c:2765 parser/parse_utilcmd.c:1266 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "制約\"%s\"はテーブル\"%s\"への行全体参照を含みます。" -#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 +#: commands/tablecmds.c:2820 parser/parse_utilcmd.c:1309 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "制約\"%s\"はテーブル\"%s\"への行全体参照を含みます。" -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:2898 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "継承される定義で列\"%s\"をマージしています" -#: commands/tablecmds.c:2905 +#: commands/tablecmds.c:2902 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "継承される定義で列\"%s\"を移動してマージします" -#: commands/tablecmds.c:2906 +#: commands/tablecmds.c:2903 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "ユーザーが指定した列が継承した列の位置に移動されました。" -#: commands/tablecmds.c:2917 +#: commands/tablecmds.c:2914 #, c-format msgid "column \"%s\" has a type conflict" msgstr "列\"%s\"の型が競合しています" -#: commands/tablecmds.c:2933 +#: commands/tablecmds.c:2930 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "列\"%s\"の照合順序が競合しています" -#: commands/tablecmds.c:2953 +#: commands/tablecmds.c:2950 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "列\"%s\"の格納パラメーターが競合しています" -#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 +#: commands/tablecmds.c:2996 commands/tablecmds.c:3083 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "列\"%s\"は生成列を継承しますが、default 指定がされています" -#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 +#: commands/tablecmds.c:3001 commands/tablecmds.c:3088 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "列\"%s\"は生成列を継承しますが、識別列と指定されています" -#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#: commands/tablecmds.c:3009 commands/tablecmds.c:3096 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "子テーブルの列\"%s\"は生成式を指定しています" -#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 +#: commands/tablecmds.c:3011 commands/tablecmds.c:3098 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "子テーブルの列は、親となる列が生成列でなければ生成列にはできません。" -#: commands/tablecmds.c:3147 +#: commands/tablecmds.c:3144 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "列\"%s\"は競合する生成式を継承します" -#: commands/tablecmds.c:3149 +#: commands/tablecmds.c:3146 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "この競合を解消するには明示的に生成式を指定してください。" -#: commands/tablecmds.c:3153 +#: commands/tablecmds.c:3150 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "列\"%s\"は競合するデフォルト値を継承します" -#: commands/tablecmds.c:3155 +#: commands/tablecmds.c:3152 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "競合を解消するには明示的にデフォルトを指定してください" -#: commands/tablecmds.c:3205 +#: commands/tablecmds.c:3202 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "異なる式を持つ検査制約名\"%s\"が複数あります。" -#: commands/tablecmds.c:3418 +#: commands/tablecmds.c:3427 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "他のセッションの一時テーブルを移動できません" -#: commands/tablecmds.c:3488 +#: commands/tablecmds.c:3497 #, c-format msgid "cannot rename column of typed table" msgstr "型付けされたテーブルの列をリネームできません" -#: commands/tablecmds.c:3507 +#: commands/tablecmds.c:3516 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "リレーション\"%s\"の列名は変更できません" -#: commands/tablecmds.c:3602 +#: commands/tablecmds.c:3611 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "継承される列\"%s\"の名前を子テーブルでも変更する必要があります" -#: commands/tablecmds.c:3634 +#: commands/tablecmds.c:3643 #, c-format msgid "cannot rename system column \"%s\"" msgstr "システム列%s\"の名前を変更できません" -#: commands/tablecmds.c:3649 +#: commands/tablecmds.c:3658 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "継承される列\"%s\"の名前を変更できません" -#: commands/tablecmds.c:3801 +#: commands/tablecmds.c:3810 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "継承される制約\"%s\"の名前を子テーブルでも変更する必要があります" -#: commands/tablecmds.c:3808 +#: commands/tablecmds.c:3817 #, 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:4114 #, 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:4114 +#: commands/tablecmds.c:4123 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "保留中のトリガイベントがあるため\"%2$s\"を%1$sできません" -#: commands/tablecmds.c:4581 +#: commands/tablecmds.c:4149 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "他のセッションの一時テーブルは変更できません" + +#: commands/tablecmds.c:4621 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "パーティション子テーブル\"%s\"は不完全な取り外し状態であるため変更できません" -#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 +#: commands/tablecmds.c:4814 commands/tablecmds.c:4829 #, c-format msgid "cannot change persistence setting twice" msgstr "永続性設定の変更は2度はできません" -#: commands/tablecmds.c:4810 +#: commands/tablecmds.c:4850 #, c-format msgid "cannot change access method of a partitioned table" msgstr "パーティション親テーブルのアクセスメソッドは変更できません" -#: commands/tablecmds.c:4816 +#: commands/tablecmds.c:4856 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "SET ACCESS METHODサブコマンドを複数指定できません" -#: commands/tablecmds.c:5537 +#: commands/tablecmds.c:5577 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "システムリレーション\"%sを書き換えられません" -#: commands/tablecmds.c:5543 +#: commands/tablecmds.c:5583 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "カタログテーブルとして使用されているテーブル\"%s\"は書き換えられません" -#: commands/tablecmds.c:5553 +#: commands/tablecmds.c:5595 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "他のセッションの一時テーブルを書き換えられません" -#: commands/tablecmds.c:6048 +#: commands/tablecmds.c:6090 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "リレーション\"%2$s\"の列\"%1$s\"にNULL値があります" -#: commands/tablecmds.c:6065 +#: commands/tablecmds.c:6107 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "一部の行がリレーション\"%2$s\"の検査制約\"%1$s\"に違反してます" -#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6126 partitioning/partbounds.c:3388 #, 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:6132 #, 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:6394 #, 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:6649 commands/tablecmds.c:6656 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "型\"%s\"を変更できません。列\"%s\".\"%s\"でその型を使用しているためです" -#: commands/tablecmds.c:6621 +#: commands/tablecmds.c:6663 #, 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:6628 +#: commands/tablecmds.c:6670 #, 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:6726 #, 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:6728 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "型付けされたテーブルを変更する場合も ALTER .. CASCADE を使用してください" -#: commands/tablecmds.c:6732 +#: commands/tablecmds.c:6774 #, c-format msgid "type %s is not a composite type" msgstr "型 %s は複合型ではありません" -#: commands/tablecmds.c:6759 +#: commands/tablecmds.c:6801 #, c-format msgid "cannot add column to typed table" msgstr "型付けされたテーブルに列を追加できません" -#: commands/tablecmds.c:6812 +#: commands/tablecmds.c:6857 #, c-format msgid "cannot add column to a partition" msgstr "パーティションに列は追加できません" -#: commands/tablecmds.c:6841 commands/tablecmds.c:15175 +#: commands/tablecmds.c:6886 commands/tablecmds.c:15267 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "子テーブル\"%s\"に異なる型の列\"%s\"があります" -#: commands/tablecmds.c:6847 commands/tablecmds.c:15182 +#: commands/tablecmds.c:6892 commands/tablecmds.c:15274 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "子テーブル\"%s\"に異なる照合順序の列\"%s\"があります" -#: commands/tablecmds.c:6865 +#: commands/tablecmds.c:6910 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "子\"%2$s\"の列\"%1$s\"の定義をマージしています" -#: commands/tablecmds.c:6912 +#: commands/tablecmds.c:6957 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "子テーブルを持つテーブルに識別列を再帰的に追加することはできません" -#: commands/tablecmds.c:7163 +#: commands/tablecmds.c:7208 #, c-format msgid "column must be added to child tables too" msgstr "列は子テーブルでも追加する必要があります" -#: commands/tablecmds.c:7241 +#: commands/tablecmds.c:7286 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでに存在します、スキップします" -#: commands/tablecmds.c:7248 +#: commands/tablecmds.c:7293 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでに存在します" -#: commands/tablecmds.c:7314 commands/tablecmds.c:12102 +#: commands/tablecmds.c:7359 commands/tablecmds.c:12161 #, 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:12103 +#: commands/tablecmds.c:7360 commands/tablecmds.c:7677 commands/tablecmds.c:8650 commands/tablecmds.c:12162 #, 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:12257 commands/tablecmds.c:13761 commands/tablecmds.c:16292 +#: commands/tablecmds.c:7397 commands/tablecmds.c:7603 commands/tablecmds.c:7745 commands/tablecmds.c:7863 commands/tablecmds.c:7957 commands/tablecmds.c:8016 commands/tablecmds.c:8135 commands/tablecmds.c:8274 commands/tablecmds.c:8344 commands/tablecmds.c:8478 commands/tablecmds.c:12316 commands/tablecmds.c:13853 commands/tablecmds.c:16384 #, c-format msgid "cannot alter system column \"%s\"" msgstr "システム列\"%s\"を変更できません" -#: commands/tablecmds.c:7358 commands/tablecmds.c:7706 +#: commands/tablecmds.c:7403 commands/tablecmds.c:7751 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は識別列です" -#: commands/tablecmds.c:7401 +#: commands/tablecmds.c:7446 #, c-format msgid "column \"%s\" is in a primary key" msgstr "列\"%s\"はプライマリキーで使用しています" -#: commands/tablecmds.c:7406 +#: commands/tablecmds.c:7451 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "列\"%s\"は複製識別として使用中のインデックスに含まれています" -#: commands/tablecmds.c:7429 +#: commands/tablecmds.c:7474 #, 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:7674 commands/tablecmds.c:9134 #, c-format msgid "constraint must be added to child tables too" msgstr "制約は子テーブルにも追加する必要があります" -#: commands/tablecmds.c:7630 +#: commands/tablecmds.c:7675 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでにNOT NULLLではありません。" -#: commands/tablecmds.c:7715 +#: commands/tablecmds.c:7760 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は生成カラムです" -#: commands/tablecmds.c:7829 +#: commands/tablecmds.c:7874 #, 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:7880 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでに識別列です" -#: commands/tablecmds.c:7841 +#: commands/tablecmds.c:7886 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでにデフォルト値が指定されています" -#: commands/tablecmds.c:7918 commands/tablecmds.c:7979 +#: commands/tablecmds.c:7963 commands/tablecmds.c:8024 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は識別列ではありません" -#: commands/tablecmds.c:7984 +#: commands/tablecmds.c:8029 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"は識別列ではありません、スキップします" -#: commands/tablecmds.c:8037 +#: commands/tablecmds.c:8082 #, 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:8104 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "継承列から生成式を削除することはできません" -#: commands/tablecmds.c:8098 +#: commands/tablecmds.c:8143 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は格納生成列ではありません" -#: commands/tablecmds.c:8103 +#: commands/tablecmds.c:8148 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"は格納生成列ではありません、スキップします" -#: commands/tablecmds.c:8176 +#: commands/tablecmds.c:8221 #, c-format msgid "cannot refer to non-index column by number" msgstr "非インデックス列を番号で参照することはできません" -#: commands/tablecmds.c:8219 +#: commands/tablecmds.c:8264 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "リレーション \"%2$s\"の列 %1$d は存在しません" -#: commands/tablecmds.c:8238 +#: commands/tablecmds.c:8283 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "インデックス\"%2$s\"の包含列\"%1$s\"への統計情報の変更はできません" -#: commands/tablecmds.c:8243 +#: commands/tablecmds.c:8288 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "インデックス \"%2$s\"の非式列\"%1$s\"の統計情報の変更はできません" -#: commands/tablecmds.c:8245 +#: commands/tablecmds.c:8290 #, c-format msgid "Alter statistics on table column instead." msgstr "代わりにテーブルカラムの統計情報を変更してください。" -#: commands/tablecmds.c:8480 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop column from typed table" msgstr "型付けされたテーブルから列を削除できません" -#: commands/tablecmds.c:8539 +#: commands/tablecmds.c:8588 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"は存在しません、スキップします" -#: commands/tablecmds.c:8552 +#: commands/tablecmds.c:8601 #, c-format msgid "cannot drop system column \"%s\"" msgstr "システム列\"%s\"を削除できません" -#: commands/tablecmds.c:8562 +#: commands/tablecmds.c:8611 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "継承される列\"%s\"を削除できません" -#: commands/tablecmds.c:8575 +#: commands/tablecmds.c:8624 #, 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:8649 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "子テーブルが存在する場合にはパーティション親テーブルのみから列を削除することはできません" -#: commands/tablecmds.c:8805 +#: commands/tablecmds.c:8854 #, 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:8879 #, 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:9216 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "パーティションテーブル\"%s\"上のリレーション\"%s\"を参照する外部キー定義ではONLY指定はできません " -#: commands/tablecmds.c:9173 +#: commands/tablecmds.c:9222 #, 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:9176 +#: commands/tablecmds.c:9225 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "この機能はパーティションテーブルに対してはサポートされていません。" -#: commands/tablecmds.c:9183 commands/tablecmds.c:9639 +#: commands/tablecmds.c:9232 commands/tablecmds.c:9688 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "参照先のリレーション\"%s\"はテーブルではありません" -#: commands/tablecmds.c:9206 +#: commands/tablecmds.c:9255 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "永続テーブルの制約は永続テーブルだけを参照できます" -#: commands/tablecmds.c:9213 +#: commands/tablecmds.c:9262 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "UNLOGGEDテーブルに対する制約は、永続テーブルまたはUNLOGGEDテーブルだけを参照する場合があります" -#: commands/tablecmds.c:9219 +#: commands/tablecmds.c:9268 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "一時テーブルに対する制約は一時テーブルだけを参照する場合があります" -#: commands/tablecmds.c:9223 +#: commands/tablecmds.c:9272 #, 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:9336 commands/tablecmds.c:9342 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "生成カラムを含む外部キー制約に対する不正な %s 処理" -#: commands/tablecmds.c:9309 +#: commands/tablecmds.c:9358 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "外部キーの参照列数と被参照列数が合いません" -#: commands/tablecmds.c:9416 +#: commands/tablecmds.c:9465 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "外部キー制約\"%sは実装されていません" -#: commands/tablecmds.c:9418 +#: commands/tablecmds.c:9467 #, 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:9624 #, 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:9849 commands/tablecmds.c:10319 parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:9898 commands/tablecmds.c:10368 parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:923 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "外部テーブルでは外部キー制約はサポートされていません" -#: commands/tablecmds.c:10872 commands/tablecmds.c:11150 commands/tablecmds.c:12059 commands/tablecmds.c:12134 +#: commands/tablecmds.c:10921 commands/tablecmds.c:11202 commands/tablecmds.c:12118 commands/tablecmds.c:12193 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は存在しません" -#: commands/tablecmds.c:10879 +#: commands/tablecmds.c:10928 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は外部キー制約ではありません" -#: commands/tablecmds.c:10917 +#: commands/tablecmds.c:10966 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "リレーション\"%2$s\"の制約\"%1$s\"を変更できません" -#: commands/tablecmds.c:10920 +#: commands/tablecmds.c:10969 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "制約\"%1$s\"は、リレーション\"%3$s\"上の制約\"%2$s\"から派生しています。" -#: commands/tablecmds.c:10922 +#: commands/tablecmds.c:10971 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "この制約の代わりに派生元の制約を変更することは可能です。" -#: commands/tablecmds.c:11158 +#: commands/tablecmds.c:11210 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は外部キー制約でも検査制約でもありません" -#: commands/tablecmds.c:11235 +#: commands/tablecmds.c:11287 #, c-format msgid "constraint must be validated on child tables too" msgstr "制約は子テーブルでも検証される必要があります" -#: commands/tablecmds.c:11322 +#: commands/tablecmds.c:11374 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "外部キー制約で参照される列\"%s\"が存在しません" -#: commands/tablecmds.c:11328 +#: commands/tablecmds.c:11380 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "システム列は外部キーに使用できません" -#: commands/tablecmds.c:11332 +#: commands/tablecmds.c:11384 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "外部キーでは%dを超えるキーを持つことができません" -#: commands/tablecmds.c:11397 +#: commands/tablecmds.c:11449 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"には遅延可能プライマリキーは使用できません" -#: commands/tablecmds.c:11414 +#: commands/tablecmds.c:11466 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"にはプライマリキーがありません" -#: commands/tablecmds.c:11478 +#: commands/tablecmds.c:11534 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "外部キーの被参照列リストには重複があってはなりません" -#: commands/tablecmds.c:11570 +#: commands/tablecmds.c:11626 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"に対しては、遅延可能な一意性制約は使用できません" -#: commands/tablecmds.c:11575 +#: commands/tablecmds.c:11631 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"に、指定したキーに一致する一意性制約がありません" -#: commands/tablecmds.c:12015 +#: commands/tablecmds.c:12074 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の継承された制約\"%1$s\"を削除できません" -#: commands/tablecmds.c:12065 +#: commands/tablecmds.c:12124 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は存在しません、スキップします" -#: commands/tablecmds.c:12241 +#: commands/tablecmds.c:12300 #, c-format msgid "cannot alter column type of typed table" msgstr "型付けされたテーブルの列の型を変更できません" -#: commands/tablecmds.c:12268 +#: commands/tablecmds.c:12327 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "継承される列\"%s\"を変更できません" -#: commands/tablecmds.c:12277 +#: commands/tablecmds.c:12336 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "列\"%s\"はリレーション\"%s\"のパーティションキーの一部であるため、変更できません" -#: commands/tablecmds.c:12327 +#: commands/tablecmds.c:12386 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"に対するUSING句の結果は自動的に%s型に型変換できません" -#: commands/tablecmds.c:12330 +#: commands/tablecmds.c:12389 #, c-format msgid "You might need to add an explicit cast." msgstr "必要に応じて明示的な型変換を追加してください。" -#: commands/tablecmds.c:12334 +#: commands/tablecmds.c:12393 #, 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:12337 +#: commands/tablecmds.c:12396 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "必要に応じて\"USING %s::%s\"を追加してください。" -#: commands/tablecmds.c:12436 +#: commands/tablecmds.c:12495 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の継承列\"%1$s\"は変更できません" -#: commands/tablecmds.c:12465 +#: commands/tablecmds.c:12524 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING式が行全体テーブル参照を含んでいます。" -#: commands/tablecmds.c:12476 +#: commands/tablecmds.c:12535 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "継承される列\"%s\"の型を子テーブルで変更しなければなりません" -#: commands/tablecmds.c:12601 +#: commands/tablecmds.c:12660 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "列\"%s\"の型を2回変更することはできません" -#: commands/tablecmds.c:12639 +#: commands/tablecmds.c:12698 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "カラム\"%s\"に対する生成式は自動的に%s型にキャストできません" -#: commands/tablecmds.c:12644 +#: commands/tablecmds.c:12703 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"のデフォルト値を自動的に%s型にキャストできません" -#: commands/tablecmds.c:12725 +#: commands/tablecmds.c:12791 #, 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:12726 commands/tablecmds.c:12745 commands/tablecmds.c:12763 +#: commands/tablecmds.c:12792 commands/tablecmds.c:12806 commands/tablecmds.c:12825 commands/tablecmds.c:12843 commands/tablecmds.c:12901 #, c-format msgid "%s depends on column \"%s\"" msgstr "%sは列\"%s\"に依存しています" -#: commands/tablecmds.c:12744 +#: commands/tablecmds.c:12805 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "ビューまたはルールで使用される列の型は変更できません" + +#: commands/tablecmds.c:12824 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "トリガー定義で使用される列の型は変更できません" -#: commands/tablecmds.c:12762 +#: commands/tablecmds.c:12842 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "ポリシ定義で使用されている列の型は変更できません" -#: commands/tablecmds.c:12793 +#: commands/tablecmds.c:12873 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "生成カラムで使用される列の型は変更できません" -#: commands/tablecmds.c:12794 +#: commands/tablecmds.c:12874 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "カラム\"%s\"は生成カラム\"%s\"で使われています。" -#: commands/tablecmds.c:13869 commands/tablecmds.c:13881 +#: commands/tablecmds.c:12900 +#, c-format +msgid "cannot alter type of a column used by a publication WHERE clause" +msgstr "パブリケーションのWHERE句で使用される列の型は変更できません" + +#: commands/tablecmds.c:13961 commands/tablecmds.c:13973 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "インデックス\"%s\"の所有者を変更できません" -#: commands/tablecmds.c:13871 commands/tablecmds.c:13883 +#: commands/tablecmds.c:13963 commands/tablecmds.c:13975 #, c-format msgid "Change the ownership of the index's table instead." msgstr "代わりにインデックスのテーブルの所有者を変更してください。" -#: commands/tablecmds.c:13897 +#: commands/tablecmds.c:13989 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "シーケンス\"%s\"の所有者を変更できません" -#: commands/tablecmds.c:13922 +#: commands/tablecmds.c:14014 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "リレーション\"%s\"の所有者を変更できません" -#: commands/tablecmds.c:14284 +#: commands/tablecmds.c:14376 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "SET TABLESPACEサブコマンドを複数指定できません" -#: commands/tablecmds.c:14361 +#: commands/tablecmds.c:14453 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "リレーション\"%s\"のオプションは設定できません" -#: commands/tablecmds.c:14395 commands/view.c:445 +#: commands/tablecmds.c:14487 commands/view.c:445 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTIONは自動更新可能ビューでのみサポートされます" -#: commands/tablecmds.c:14645 +#: commands/tablecmds.c:14737 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "テーブルスペースにはテーブル、インデックスおよび実体化ビューしかありません" -#: commands/tablecmds.c:14657 +#: commands/tablecmds.c:14749 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "pg_globalテーブルスペースとの間のリレーションの移動はできません" -#: commands/tablecmds.c:14749 +#: commands/tablecmds.c:14841 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "リレーション\"%s.%s\"のロックが獲得できなかったため中断します" -#: commands/tablecmds.c:14765 +#: commands/tablecmds.c:14857 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "テーブルスペース\"%s\"には合致するリレーションはありませんでした" -#: commands/tablecmds.c:14883 +#: commands/tablecmds.c:14975 #, c-format msgid "cannot change inheritance of typed table" msgstr "型付けされたテーブルの継承を変更できません" -#: commands/tablecmds.c:14888 commands/tablecmds.c:15406 +#: commands/tablecmds.c:14980 commands/tablecmds.c:15498 #, c-format msgid "cannot change inheritance of a partition" msgstr "パーティションの継承は変更できません" -#: commands/tablecmds.c:14893 +#: commands/tablecmds.c:14985 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "パーティションテーブルの継承は変更できません" -#: commands/tablecmds.c:14939 +#: commands/tablecmds.c:15031 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "他のセッションの一時テーブルを継承できません" -#: commands/tablecmds.c:14952 +#: commands/tablecmds.c:15044 #, c-format msgid "cannot inherit from a partition" msgstr "パーティションからの継承はできません" -#: commands/tablecmds.c:14974 commands/tablecmds.c:17837 +#: commands/tablecmds.c:15066 commands/tablecmds.c:17924 #, c-format msgid "circular inheritance not allowed" msgstr "循環継承を行うことはできません" -#: commands/tablecmds.c:14975 commands/tablecmds.c:17838 +#: commands/tablecmds.c:15067 commands/tablecmds.c:17925 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\"はすでに\"%s\"の子です" -#: commands/tablecmds.c:14988 +#: commands/tablecmds.c:15080 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "トリガ\"%s\"によってテーブル\"%s\"が継承子テーブルになることができません" -#: commands/tablecmds.c:14990 +#: commands/tablecmds.c:15082 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "遷移テーブルを使用したROWトリガは継承関係ではサポートされていません。" -#: commands/tablecmds.c:15193 +#: commands/tablecmds.c:15285 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "子テーブルの列\"%s\"はNOT NULLである必要があります" -#: commands/tablecmds.c:15202 +#: commands/tablecmds.c:15294 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "子テーブルの列\"%s\"は生成列である必要があります" -#: commands/tablecmds.c:15207 +#: commands/tablecmds.c:15299 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "子テーブルの列\"%s\"は生成列であってはなりません" -#: commands/tablecmds.c:15238 +#: commands/tablecmds.c:15330 #, c-format msgid "child table is missing column \"%s\"" msgstr "子テーブルには列\"%s\"がありません" -#: commands/tablecmds.c:15326 +#: commands/tablecmds.c:15418 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "子テーブル\"%s\"では検査制約\"%s\"に異なった定義がされています" -#: commands/tablecmds.c:15334 +#: commands/tablecmds.c:15426 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "制約\"%s\"は子テーブル\"%s\"上の継承されない制約と競合します" -#: commands/tablecmds.c:15345 +#: commands/tablecmds.c:15437 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "制約\"%s\"は子テーブル\"%s\"のNOT VALID制約と衝突しています" -#: commands/tablecmds.c:15384 +#: commands/tablecmds.c:15476 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "子テーブルには制約\"%s\"がありません" -#: commands/tablecmds.c:15470 +#: commands/tablecmds.c:15562 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "パーティション\"%s\"はすでにパーティションテーブル\"%s.%s\"からの取り外し保留中です" -#: commands/tablecmds.c:15499 commands/tablecmds.c:15547 +#: commands/tablecmds.c:15591 commands/tablecmds.c:15639 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "リレーション\"%s\"はリレーション\"%s\"のパーティション子テーブルではありません" -#: commands/tablecmds.c:15553 +#: commands/tablecmds.c:15645 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "リレーション\"%s\"はリレーション\"%s\"の親ではありません" -#: commands/tablecmds.c:15781 +#: commands/tablecmds.c:15873 #, c-format msgid "typed tables cannot inherit" msgstr "型付けされたテーブルは継承できません" -#: commands/tablecmds.c:15811 +#: commands/tablecmds.c:15903 #, c-format msgid "table is missing column \"%s\"" msgstr "テーブルには列\"%s\"がありません" -#: commands/tablecmds.c:15822 +#: commands/tablecmds.c:15914 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "テーブルには列\"%s\"がありますが型は\"%s\"を必要としています" -#: commands/tablecmds.c:15831 +#: commands/tablecmds.c:15923 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "テーブル\"%s\"では列\"%s\"の型が異なっています" -#: commands/tablecmds.c:15845 +#: commands/tablecmds.c:15937 #, c-format msgid "table has extra column \"%s\"" msgstr "テーブルに余分な列\"%s\"があります" -#: commands/tablecmds.c:15897 +#: commands/tablecmds.c:15989 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\"は型付けされたテーブルではありません" -#: commands/tablecmds.c:16071 +#: commands/tablecmds.c:16163 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "非ユニークインデックス\"%s\"は複製識別としては使用できません" -#: commands/tablecmds.c:16077 +#: commands/tablecmds.c:16169 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "一意性を即時検査しないインデックス\"%s\"は複製識別には使用できません" -#: commands/tablecmds.c:16083 +#: commands/tablecmds.c:16175 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "式インデックス\"%s\"は複製識別としては使用できません" -#: commands/tablecmds.c:16089 +#: commands/tablecmds.c:16181 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "部分インデックス\"%s\"を複製識別としては使用できません" -#: commands/tablecmds.c:16106 +#: commands/tablecmds.c:16198 #, 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:16113 +#: commands/tablecmds.c:16205 #, 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:16358 +#: commands/tablecmds.c:16450 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "テーブル\"%s\"は一時テーブルであるため、ログ出力設定を変更できません" -#: commands/tablecmds.c:16382 +#: commands/tablecmds.c:16474 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "テーブル\"%s\"はパブリケーションの一部であるため、UNLOGGEDに変更できません" -#: commands/tablecmds.c:16384 +#: commands/tablecmds.c:16476 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "UNLOGGEDリレーションはレプリケーションできません。" -#: commands/tablecmds.c:16429 +#: commands/tablecmds.c:16521 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "テーブル\"%s\"はUNLOGGEDテーブル\"%s\"を参照しているためLOGGEDには設定できません" -#: commands/tablecmds.c:16439 +#: commands/tablecmds.c:16531 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "テーブル\"%s\"はLOGGEDテーブル\"%s\"を参照しているためUNLOGGEDには設定できません" -#: commands/tablecmds.c:16497 +#: commands/tablecmds.c:16589 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "所有するシーケンスを他のスキーマに移動することができません" -#: commands/tablecmds.c:16604 +#: commands/tablecmds.c:16691 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "リレーション\"%s\"はスキーマ\"%s\"内にすでに存在します" -#: commands/tablecmds.c:17024 +#: commands/tablecmds.c:17111 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\"はテーブルや実体化ビューではありません" -#: commands/tablecmds.c:17174 +#: commands/tablecmds.c:17261 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\"は複合型ではありません" -#: commands/tablecmds.c:17204 +#: commands/tablecmds.c:17291 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "インデックス\"%s\"のスキーマを変更できません" -#: commands/tablecmds.c:17206 commands/tablecmds.c:17220 +#: commands/tablecmds.c:17293 commands/tablecmds.c:17307 #, c-format msgid "Change the schema of the table instead." msgstr "代わりにこのテーブルのスキーマを変更してください。" -#: commands/tablecmds.c:17210 +#: commands/tablecmds.c:17297 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "複合型%sのスキーマは変更できません" -#: commands/tablecmds.c:17218 +#: commands/tablecmds.c:17305 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "TOASTテーブル\"%s\"のスキーマは変更できません" -#: commands/tablecmds.c:17250 +#: commands/tablecmds.c:17337 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "\"list\"パーティションストラテジは2つ以上の列に対しては使えません" -#: commands/tablecmds.c:17316 +#: commands/tablecmds.c:17403 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "パーティションキーに指定されている列\"%s\"は存在しません" -#: commands/tablecmds.c:17324 +#: commands/tablecmds.c:17411 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "パーティションキーでシステム列\"%s\"は使用できません" -#: commands/tablecmds.c:17335 commands/tablecmds.c:17425 +#: commands/tablecmds.c:17422 commands/tablecmds.c:17512 #, c-format msgid "cannot use generated column in partition key" msgstr "パーティションキーで生成カラムは使用できません" -#: commands/tablecmds.c:17336 commands/tablecmds.c:17426 commands/trigger.c:663 rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971 +#: commands/tablecmds.c:17423 commands/tablecmds.c:17513 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:17408 +#: commands/tablecmds.c:17495 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "パーティションキー式はシステム列への参照を含むことができません" -#: commands/tablecmds.c:17455 +#: commands/tablecmds.c:17542 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "パーティションキー式で使われる関数はIMMUTABLE指定されている必要があります" -#: commands/tablecmds.c:17464 +#: commands/tablecmds.c:17551 #, c-format msgid "cannot use constant expression as partition key" msgstr "定数式をパーティションキーとして使うことはできません" -#: commands/tablecmds.c:17485 +#: commands/tablecmds.c:17572 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "パーティション式で使用する照合順序を特定できませんでした" -#: commands/tablecmds.c:17520 +#: commands/tablecmds.c:17607 #, 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:17526 +#: commands/tablecmds.c:17613 #, 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:17777 +#: commands/tablecmds.c:17864 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\"はすでパーティションです" -#: commands/tablecmds.c:17783 +#: commands/tablecmds.c:17870 #, c-format msgid "cannot attach a typed table as partition" msgstr "型付けされたテーブルをパーティションにアタッチすることはできません" -#: commands/tablecmds.c:17799 +#: commands/tablecmds.c:17886 #, c-format msgid "cannot attach inheritance child as partition" msgstr "継承子テーブルをパーティションにアタッチすることはできません" -#: commands/tablecmds.c:17813 +#: commands/tablecmds.c:17900 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "継承親テーブルをパーティションにアタッチすることはできません" -#: commands/tablecmds.c:17847 +#: commands/tablecmds.c:17934 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "一時リレーションを永続リレーション \"%s\" のパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:17855 +#: commands/tablecmds.c:17942 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "永続リレーションを一時リレーション\"%s\"のパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:17863 +#: commands/tablecmds.c:17950 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "他セッションの一時リレーションのパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:17870 +#: commands/tablecmds.c:17957 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "他セッションの一時リレーションにパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:17890 +#: commands/tablecmds.c:17977 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "テーブル\"%1$s\"は親テーブル\"%3$s\"にない列\"%2$s\"を含んでいます" -#: commands/tablecmds.c:17893 +#: commands/tablecmds.c:17980 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "新しいパーティションは親に存在する列のみを含むことができます。" -#: commands/tablecmds.c:17905 +#: commands/tablecmds.c:17992 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "トリガ\"%s\"のため、テーブル\"%s\"はパーティション子テーブルにはなれません" -#: commands/tablecmds.c:17907 +#: commands/tablecmds.c:17994 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "遷移テーブルを使用するROWトリガはパーティションではサポートされません。" -#: commands/tablecmds.c:18086 +#: commands/tablecmds.c:18173 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "外部テーブル\"%s\"はパーティションテーブル\"%s\"の子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:18089 +#: commands/tablecmds.c:18176 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "パーティション親テーブル\"%s\"はユニークインデックスを持っています。" -#: commands/tablecmds.c:18406 +#: commands/tablecmds.c:18493 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "デフォルトパーティションを持つパーティションは並列的に取り外しはできません" -#: commands/tablecmds.c:18515 +#: commands/tablecmds.c:18602 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "パーティション親テーブル\"%s\"には CREATE INDEX CONCURRENTLY は実行できません" -#: commands/tablecmds.c:18521 +#: commands/tablecmds.c:18608 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "パーティション子テーブル\\\"%s\\\"は同時に削除されました" -#: commands/tablecmds.c:19036 commands/tablecmds.c:19056 commands/tablecmds.c:19077 commands/tablecmds.c:19096 commands/tablecmds.c:19138 +#: commands/tablecmds.c:19132 commands/tablecmds.c:19152 commands/tablecmds.c:19173 commands/tablecmds.c:19192 commands/tablecmds.c:19234 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "インデックス\"%s\"をインデックス\"%s\"の子インデックスとしてアタッチすることはできません" -#: commands/tablecmds.c:19039 +#: commands/tablecmds.c:19135 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "インデックス\"%s\"はすでに別のインデックスにアタッチされています。" -#: commands/tablecmds.c:19059 +#: commands/tablecmds.c:19155 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "インデックス\"%s\"はテーブル\"%s\"のどの子テーブルのインデックスでもありません。" -#: commands/tablecmds.c:19080 +#: commands/tablecmds.c:19176 #, c-format msgid "The index definitions do not match." msgstr "インデックス定義が合致しません。" -#: commands/tablecmds.c:19099 +#: commands/tablecmds.c:19195 #, 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:19141 +#: commands/tablecmds.c:19237 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "子テーブル\"%s\"にはすでに他のインデックスがアタッチされています。" -#: commands/tablecmds.c:19377 +#: commands/tablecmds.c:19473 #, c-format msgid "column data type %s does not support compression" msgstr "列データ型%sは圧縮をサポートしていません" -#: commands/tablecmds.c:19384 +#: commands/tablecmds.c:19480 #, c-format msgid "invalid compression method \"%s\"" msgstr "無効な圧縮方式\"%s\"" -#: commands/tablecmds.c:19410 +#: commands/tablecmds.c:19506 #, c-format msgid "invalid storage type \"%s\"" msgstr "不正な格納タイプ\"%s\"" -#: commands/tablecmds.c:19420 +#: commands/tablecmds.c:19516 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "列のデータ型%sは格納タイプPLAINしか取ることができません" @@ -11350,132 +11370,132 @@ msgstr "BEFORE FOR EACH ROWトリガの実行では、他のパーティショ 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:3347 executor/nodeModifyTable.c:2378 executor/nodeModifyTable.c:2461 #, 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:3348 executor/nodeModifyTable.c:1543 executor/nodeModifyTable.c:1617 executor/nodeModifyTable.c:2379 executor/nodeModifyTable.c:2462 executor/nodeModifyTable.c:2999 executor/nodeModifyTable.c:3126 #, 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: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:3389 executor/nodeLockRows.c:228 executor/nodeLockRows.c:237 executor/nodeModifyTable.c:316 executor/nodeModifyTable.c:1559 executor/nodeModifyTable.c:2396 executor/nodeModifyTable.c:2604 #, 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:3397 executor/nodeModifyTable.c:1649 executor/nodeModifyTable.c:2479 executor/nodeModifyTable.c:2628 executor/nodeModifyTable.c:3017 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "削除が同時に行われたためアクセスの直列化ができませんでした" -#: commands/trigger.c:4604 +#: commands/trigger.c:4608 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "セキュリティー制限操作中は、遅延トリガーは発火させられません" -#: commands/trigger.c:5787 +#: commands/trigger.c:5789 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "制約\"%s\"は遅延可能ではありません" -#: commands/trigger.c:5810 +#: commands/trigger.c:5812 #, c-format msgid "constraint \"%s\" does not exist" msgstr "制約\"%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 "関数%sは型%sを返すことができません" -#: commands/tsearchcmds.c:194 +#: commands/tsearchcmds.c:200 #, c-format msgid "must be superuser to create text search parsers" msgstr "テキスト検索パーサを生成するにはスーパーユーザーである必要があります" -#: commands/tsearchcmds.c:247 +#: commands/tsearchcmds.c:253 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "テキスト検索パーサ\"%s\"は不明です" -#: commands/tsearchcmds.c:257 +#: commands/tsearchcmds.c:263 #, c-format msgid "text search parser start method is required" msgstr "テキスト検索パーサの開始メソッドが必要です" -#: commands/tsearchcmds.c:262 +#: commands/tsearchcmds.c:268 #, c-format msgid "text search parser gettoken method is required" msgstr "テキスト検索パーサのgettokenメソッドが必要です" -#: commands/tsearchcmds.c:267 +#: commands/tsearchcmds.c:273 #, c-format msgid "text search parser end method is required" msgstr "テキスト検索パーサの終了メソッドが必要です" -#: commands/tsearchcmds.c:272 +#: commands/tsearchcmds.c:278 #, c-format msgid "text search parser lextypes method is required" msgstr "テキスト検索パーサのlextypesメソッドが必要です" -#: commands/tsearchcmds.c:366 +#: commands/tsearchcmds.c:372 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "テキスト検索テンプレート\"%s\"はオプションを受け付けません" -#: commands/tsearchcmds.c:440 +#: commands/tsearchcmds.c:446 #, c-format msgid "text search template is required" msgstr "テキスト検索テンプレートが必要です" -#: commands/tsearchcmds.c:701 +#: commands/tsearchcmds.c:707 #, c-format msgid "must be superuser to create text search templates" msgstr "テキスト検索テンプレートを生成するにはスーパーユーザーである必要があります" -#: commands/tsearchcmds.c:743 +#: commands/tsearchcmds.c:749 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "テキスト検索テンプレートのパラメータ\"%sは不明です。" -#: commands/tsearchcmds.c:753 +#: commands/tsearchcmds.c:759 #, c-format msgid "text search template lexize method is required" msgstr "テキスト検索テンプレートのlexizeメソッドが必要です" -#: commands/tsearchcmds.c:933 +#: commands/tsearchcmds.c:939 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "テキスト検索設定のパラメータ\"%s\"は不明です" -#: commands/tsearchcmds.c:940 +#: commands/tsearchcmds.c:946 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "PARSERとCOPYオプションをまとめて指定できません" -#: commands/tsearchcmds.c:976 +#: commands/tsearchcmds.c:982 #, c-format msgid "text search parser is required" msgstr "テキスト検索パーサが必要です" -#: commands/tsearchcmds.c:1241 +#: commands/tsearchcmds.c:1277 #, c-format msgid "token type \"%s\" does not exist" msgstr "トークン型\"%s\"は存在しません" -#: commands/tsearchcmds.c:1501 +#: commands/tsearchcmds.c:1540 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "トークン型\"%s\"に対するマップは存在しません" -#: commands/tsearchcmds.c:1507 +#: commands/tsearchcmds.c:1546 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "トークン型\"%s\"に対するマップは存在しません、スキップします" -#: 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 "不正パラメータリストの書式です: \"%s\"" @@ -12243,32 +12263,32 @@ msgstr "" msgid "cutoff for freezing multixacts is far in the past" msgstr "マルチトランザクションのフリーズのカットオフ値が古すぎます" -#: commands/vacuum.c:1908 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "データベースの一部は20億トランザクション以上の間にVACUUMを実行されていませんでした" -#: commands/vacuum.c:1909 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "トランザクションの周回によるデータ損失が発生している可能性があります" -#: commands/vacuum.c:2078 +#: commands/vacuum.c:2082 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "\"%s\"をスキップしています --- テーブルではないものや、特別なシステムテーブルに対してはVACUUMを実行できません" -#: commands/vacuum.c:2503 +#: commands/vacuum.c:2507 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "%2$d行バージョンを削除するためインデックス\"%1$s\"をスキャンしました" -#: commands/vacuum.c:2522 +#: commands/vacuum.c:2526 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "現在インデックス\"%s\"は%.0f行バージョンを%uページで含んでいます" -#: commands/vacuum.c:2526 +#: commands/vacuum.c:2530 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -12506,22 +12526,22 @@ msgstr "パラメータの型%d(%s)が実行計画(%s)を準備する時点と 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:637 executor/execExpr.c:644 executor/execExpr.c:650 executor/execExprInterp.c:4234 executor/execExprInterp.c:4251 executor/execExprInterp.c:4350 executor/nodeModifyTable.c:205 executor/nodeModifyTable.c:216 executor/nodeModifyTable.c:233 executor/nodeModifyTable.c:241 #, 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:638 executor/nodeModifyTable.c:206 #, c-format msgid "Query has too many columns." msgstr "問い合わせの列が多すぎます" -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:645 executor/nodeModifyTable.c:234 #, 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:651 executor/execExprInterp.c:4252 executor/nodeModifyTable.c:217 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "テーブルでは %2$d 番目の型は %1$s ですが、問い合わせでは %3$s を想定しています。" @@ -12547,7 +12567,7 @@ 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: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:2601 executor/execSRF.c:739 executor/functions.c:1068 utils/adt/jsonfuncs.c:3780 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 "このコンテキストで集合値の関数は集合を受け付けられません" @@ -12577,7 +12597,7 @@ msgstr "型%2$sの属性%1$dの型が間違っています" 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: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:569 #, c-format msgid "type %s is not composite" msgstr "型%sは複合型ではありません" @@ -12684,32 +12704,32 @@ msgstr "シーケンス\"%s\"を変更できません" msgid "cannot change TOAST relation \"%s\"" msgstr "TOASTリレーション\"%s\"を変更できません" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 rewrite/rewriteHandler.c:3966 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3083 rewrite/rewriteHandler.c:3973 #, c-format msgid "cannot insert into view \"%s\"" msgstr "ビュー\"%s\"へは挿入(INSERT)できません" -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 rewrite/rewriteHandler.c:3969 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3086 rewrite/rewriteHandler.c:3976 #, 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 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3091 rewrite/rewriteHandler.c:3981 #, c-format msgid "cannot update view \"%s\"" msgstr "ビュー\"%s\"は更新できません" -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 rewrite/rewriteHandler.c:3977 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3094 rewrite/rewriteHandler.c:3984 #, 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 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3099 rewrite/rewriteHandler.c:3989 #, c-format msgid "cannot delete from view \"%s\"" msgstr "ビュー\"%s\"からは削除できません" -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 rewrite/rewriteHandler.c:3985 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3102 rewrite/rewriteHandler.c:3992 #, 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ルールを作成してください。" @@ -12975,74 +12995,74 @@ 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:1742 executor/spi.c:2648 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "volatile関数以外では%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:1711 executor/functions.c:1749 executor/functions.c:1763 executor/functions.c:1858 executor/functions.c:1891 executor/functions.c:1905 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "%sを返すと宣言された関数において戻り値型が一致しません" -#: executor/functions.c:1696 +#: executor/functions.c:1713 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." msgstr "関数の最後のステートメントは SELECT もしくは INSERT/UPDATE/DELETE RETURNING のいずれかである必要があります" -#: executor/functions.c:1734 +#: executor/functions.c:1751 #, c-format msgid "Final statement must return exactly one column." msgstr "最後のステートメントはちょうど1列を返さなければなりません。" -#: executor/functions.c:1748 +#: executor/functions.c:1765 #, c-format msgid "Actual return type is %s." msgstr "実際の戻り値型は%sです。" -#: executor/functions.c:1838 +#: executor/functions.c:1860 #, c-format msgid "Final statement returns too many columns." msgstr "最後のステートメントが返す列が多すぎます。" -#: executor/functions.c:1871 +#: executor/functions.c:1893 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "最後のステートメントが列%3$dで%2$sではなく%1$sを返しました。" -#: executor/functions.c:1885 +#: executor/functions.c:1907 #, c-format msgid "Final statement returns too few columns." msgstr "最後のステートメントが返す列が少なすぎます。" -#: executor/functions.c:1913 +#: executor/functions.c:1935 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "戻り値型%sはSQL関数でサポートされていません" @@ -13062,12 +13082,12 @@ msgstr "集約関数の呼び出しを入れ子にすることはできません msgid "custom scan \"%s\" does not support MarkPos" msgstr "カスタムスキャン\"%s\"はMarkPosをサポートしていません" -#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1144 executor/nodeHashjoin.c:1174 #, c-format msgid "could not rewind hash-join temporary file" msgstr "ハッシュ結合用一時ファイルを巻き戻せませんでした" -#: executor/nodeIndexonlyscan.c:238 +#: executor/nodeIndexonlyscan.c:240 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "概算距離関数はインデックスオンリースキャンではサポートされていません" @@ -13082,77 +13102,77 @@ msgstr "OFFSET は負数であってはなりません" msgid "LIMIT must not be negative" msgstr "LIMIT は負数であってはなりません" -#: executor/nodeMergejoin.c:1579 +#: executor/nodeMergejoin.c:1580 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "RIGHT JOINはマージ結合可能な結合条件でのみサポートされています" -#: executor/nodeMergejoin.c:1597 +#: executor/nodeMergejoin.c:1598 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOINはマージ結合可能な結合条件でのみサポートされています" -#: executor/nodeModifyTable.c:234 +#: executor/nodeModifyTable.c:242 #, c-format msgid "Query has too few columns." msgstr "問い合わせの列が少なすぎます。" -#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608 +#: executor/nodeModifyTable.c:1542 executor/nodeModifyTable.c:1616 #, 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:1771 #, c-format msgid "invalid ON UPDATE specification" msgstr "不正な ON UPDATE 指定です" -#: executor/nodeModifyTable.c:1764 +#: executor/nodeModifyTable.c:1772 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "結果タプルをもとのパーティションではなく異なるパーティションに追加しようとしました。" -#: executor/nodeModifyTable.c:2223 +#: executor/nodeModifyTable.c:2231 #, 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:2232 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "外部キーがパーティションルートテーブル\"%2$s\"ではなくパーティション親テーブル\"%1$s\"を指しています。" -#: executor/nodeModifyTable.c:2227 +#: executor/nodeModifyTable.c:2235 #, 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:2582 executor/nodeModifyTable.c:3005 executor/nodeModifyTable.c:3132 #, c-format msgid "%s command cannot affect row a second time" msgstr "%sコマンドは単一の行に2度は適用できません" -#: executor/nodeModifyTable.c:2575 +#: executor/nodeModifyTable.c:2584 #, 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:2998 executor/nodeModifyTable.c:3125 +#, c-format +msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" +msgstr "更新または削除対象のタプルは、現在のコマンドによって発火した操作トリガーによってすでに更新されています" + +#: executor/nodeModifyTable.c:3007 executor/nodeModifyTable.c:3134 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "ソース行が2行以上ターゲット行に合致しないようにしてください。" -#: executor/nodeModifyTable.c:3058 +#: executor/nodeModifyTable.c:3089 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "削除対象のタプルは同時に行われた更新によってすでに他の子テーブルに移動されています" -#: executor/nodeModifyTable.c:3097 -#, c-format -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "更新または削除対象のタプルは、現在のコマンドによって発火した操作トリガーによってすでに更新されています" - #: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" @@ -13269,33 +13289,33 @@ msgstr "カーソルで%s問い合わせを開くことができません" 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:1717 parser/analyze.c:2923 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "スクロール可能カーソルは読み取り専用である必要があります。" -#: executor/spi.c:2474 +#: executor/spi.c:2487 #, 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:2561 #, c-format msgid "%s query does not return tuples" msgstr "%s問い合わせがタプルを返しません" -#: executor/spi.c:2963 +#: executor/spi.c:2975 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL関数\"%s\"" -#: executor/spi.c:2968 +#: executor/spi.c:2980 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL代入\"%s\"" -#: executor/spi.c:2971 +#: executor/spi.c:2983 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL文 \"%s\"" @@ -13439,7 +13459,7 @@ msgstr "CREATE OR REPLACE CONSTRAINT TRIGGERはサポートされません" msgid "duplicate trigger events specified" msgstr "重複したトリガーイベントが指定されました" -#: gram.y:5990 parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 +#: gram.y:5990 parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3720 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "INITIALLY DEFERREDと宣言された制約はDEFERRABLEでなければなりません" @@ -13773,7 +13793,7 @@ msgstr "不正な16進文字列" msgid "unexpected end after backslash" msgstr "バックスラッシュの後の想定外の終了" -#: jsonpath_scan.l:201 repl_scanner.l:208 scan.l:741 +#: jsonpath_scan.l:201 repl_scanner.l:208 scan.l:742 msgid "unterminated quoted string" msgstr "文字列の引用符が閉じていません" @@ -13785,7 +13805,7 @@ msgstr "コメントの想定外の終了" msgid "invalid numeric literal" msgstr "不正なnumericリテラル" -#: 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 "数値リテラルの後ろにゴミがあります" @@ -14856,22 +14876,22 @@ msgstr "ECDH: キーを生成できませんでした" msgid "no SSL error reported" msgstr "SSLエラーはありませんでした" -#: libpq/be-secure-openssl.c:1368 +#: libpq/be-secure-openssl.c:1381 #, c-format msgid "SSL error code %lu" msgstr "SSLエラーコード: %lu" -#: libpq/be-secure-openssl.c:1527 +#: libpq/be-secure-openssl.c:1540 #, c-format msgid "could not create BIO" msgstr "BIOを作成できませんでした" -#: libpq/be-secure-openssl.c:1537 +#: libpq/be-secure-openssl.c:1550 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "ASN1_OBJECTオブジェクトのNIDを取得できませんでした" -#: libpq/be-secure-openssl.c:1545 +#: libpq/be-secure-openssl.c:1558 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "NID %dをASN1_OBJECT構造体へ変換できませんでした" @@ -15263,164 +15283,164 @@ msgstr "与えられたユーザー名 (%s) と認証されたユーザー名 (% msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "\"%3$s\"として認証されたユーザー\"%2$s\"はユーザーマップ\"%1$s\"に一致しません" -#: libpq/pqcomm.c:200 +#: libpq/pqcomm.c:196 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "ソケットを非ブロッキングモードに設定できませんでした: %m" -#: libpq/pqcomm.c:361 +#: libpq/pqcomm.c:357 #, 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:377 #, 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:381 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "サービス\"%s\"をアドレスに変換できませんでした: %s" -#: libpq/pqcomm.c:412 +#: libpq/pqcomm.c:408 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "要求されたアドレスを全てバインドできませんでした: MAXLISTEN (%d)を超えています" -#: libpq/pqcomm.c:421 +#: libpq/pqcomm.c:417 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:420 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:431 +#: libpq/pqcomm.c:427 #, c-format msgid "unrecognized address family %d" msgstr "アドレスファミリ %d を認識できません" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:455 +#: libpq/pqcomm.c:451 #, 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:477 libpq/pqcomm.c:495 #, 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:522 +#: libpq/pqcomm.c:518 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "%sアドレス\"%s\"のbindに失敗しました: %m" -#: libpq/pqcomm.c:526 +#: libpq/pqcomm.c:522 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "すでに他のpostmasterがポート%dで稼動していませんか?" -#: libpq/pqcomm.c:528 +#: libpq/pqcomm.c:524 #, 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:557 +#: libpq/pqcomm.c:553 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "%sアドレス\"%s\"のlistenに失敗しました: %m" -#: libpq/pqcomm.c:565 +#: libpq/pqcomm.c:561 #, 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:566 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "%sアドレス\"%s\"、ポート%dで待ち受けています" -#: libpq/pqcomm.c:659 +#: libpq/pqcomm.c:655 #, c-format msgid "group \"%s\" does not exist" msgstr "グループ\"%s\"は存在しません" -#: libpq/pqcomm.c:669 +#: libpq/pqcomm.c:665 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "ファイル\"%s\"のグループを設定できませんでした: %m" -#: libpq/pqcomm.c:680 +#: libpq/pqcomm.c:676 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "ファイル\"%s\"の権限を設定できませんでした: %m" -#: libpq/pqcomm.c:708 +#: libpq/pqcomm.c:704 #, 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 +#: 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:903 +#: libpq/pqcomm.c:899 #, c-format msgid "there is no client connection" msgstr "クライアント接続がありません" -#: libpq/pqcomm.c:959 libpq/pqcomm.c:1060 +#: libpq/pqcomm.c:955 libpq/pqcomm.c:1056 #, c-format msgid "could not receive data from client: %m" msgstr "クライアントからデータを受信できませんでした: %m" -#: libpq/pqcomm.c:1165 tcop/postgres.c:4405 +#: libpq/pqcomm.c:1161 tcop/postgres.c:4405 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "プロトコルの同期が失われたためコネクションを終了します" -#: libpq/pqcomm.c:1231 +#: libpq/pqcomm.c:1227 #, c-format msgid "unexpected EOF within message length word" msgstr "メッセージ長ワード内のEOFは想定外です" -#: libpq/pqcomm.c:1241 +#: libpq/pqcomm.c:1237 #, c-format msgid "invalid message length" msgstr "メッセージ長が不正です" -#: libpq/pqcomm.c:1263 libpq/pqcomm.c:1276 +#: libpq/pqcomm.c:1259 libpq/pqcomm.c:1272 #, c-format msgid "incomplete message from client" msgstr "クライアントからのメッセージが不完全です" -#: libpq/pqcomm.c:1387 +#: libpq/pqcomm.c:1383 #, c-format msgid "could not send data to client: %m" msgstr "クライアントにデータを送信できませんでした: %m" -#: libpq/pqcomm.c:1602 +#: libpq/pqcomm.c:1598 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s)が失敗しました: エラーコード %d" -#: libpq/pqcomm.c:1691 +#: libpq/pqcomm.c:1687 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "キープアライブのアイドル時間の設定はサポートされていません" -#: libpq/pqcomm.c:1775 libpq/pqcomm.c:1850 libpq/pqcomm.c:1925 +#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s)はサポートされていません" @@ -15749,7 +15769,7 @@ msgstr "リレーション\"%s\"は複合型を持っていません" msgid "unrecognized JSON encoding: %s" msgstr "不明なJSON符号化方式: \"%s\"" -#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 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 +#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 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:669 #, c-format msgid "could not find array type for data type %s" msgstr "データ型%sの配列型がありませんでした" @@ -15769,7 +15789,7 @@ msgstr "パラメータを持つ無名ポータル: %s" 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:7111 parser/parse_merge.c:187 parser/parse_merge.c:194 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "リレーション\"%s\"に対してMERGEは実行できません" @@ -15781,7 +15801,7 @@ 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:1361 parser/analyze.c:1761 parser/analyze.c:2018 parser/analyze.c:3231 +#: optimizer/plan/planner.c:1361 parser/analyze.c:1772 parser/analyze.c:2029 parser/analyze.c:3242 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "UNION/INTERSECT/EXCEPTでは%sを使用できません" @@ -15837,7 +15857,7 @@ msgstr "すべての列のデータ型はハッシュ可能でなければなり msgid "could not implement %s" msgstr "%sを実行できませんでした" -#: optimizer/util/clauses.c:4929 +#: optimizer/util/clauses.c:4933 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL関数\"%s\"のインライン化処理中" @@ -15847,27 +15867,27 @@ msgstr "SQL関数\"%s\"のインライン化処理中" msgid "cannot access temporary or unlogged relations during recovery" msgstr "リカバリ中は一時テーブルやUNLOGGEDテーブルにはアクセスできません" -#: optimizer/util/plancat.c:726 +#: optimizer/util/plancat.c:728 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "行全体に渡るユニークインデックスの推定指定はサポートされていません" -#: optimizer/util/plancat.c:743 +#: optimizer/util/plancat.c:745 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "ON CONFLICT句中の制約には関連付けられるインデックスがありません" -#: optimizer/util/plancat.c:793 +#: optimizer/util/plancat.c:795 #, 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:905 #, 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:826 parser/analyze.c:1551 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUESリストはすべて同じ長さでなければなりません" @@ -15887,196 +15907,196 @@ msgstr "INSERTに式よりも多くの対象列があります" 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:1358 parser/analyze.c:1745 #, 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:1674 parser/analyze.c:3474 #, 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はUNION/INTERSECT/EXCEPTの最初のSELECTでのみ使用できます" -#: 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:2584 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNINGには少なくとも1つの列が必要です" -#: parser/analyze.c:2676 +#: parser/analyze.c:2687 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "代入元が%d個の列を返しました" -#: parser/analyze.c:2737 +#: parser/analyze.c:2748 #, 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:2873 parser/analyze.c:2881 #, c-format msgid "cannot specify both %s and %s" msgstr "%sと%sの両方を同時には指定できません" -#: parser/analyze.c:2890 +#: parser/analyze.c:2901 #, 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:2909 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %sはサポートされていません" -#: parser/analyze.c:2901 +#: parser/analyze.c:2912 #, 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:2909 +#: parser/analyze.c:2920 #, 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:2931 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %sはが不正です" -#: parser/analyze.c:2923 +#: parser/analyze.c:2934 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "INSENSITIVEカーソルは読み取り専用である必要があります。" -#: parser/analyze.c:3017 +#: parser/analyze.c:3028 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "実体化ビューではWITH句にデータを変更する文を含んではなりません" -#: parser/analyze.c:3027 +#: parser/analyze.c:3038 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "実体化ビューでは一時テーブルやビューを使用してはいけません" -#: parser/analyze.c:3037 +#: parser/analyze.c:3048 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "実体化ビューは境界パラメータを用いて定義してはなりません" -#: parser/analyze.c:3049 +#: parser/analyze.c:3060 #, 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:3249 #, 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:3245 +#: parser/analyze.c:3256 #, 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:3252 +#: parser/analyze.c:3263 #, 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:3259 +#: parser/analyze.c:3270 #, 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:3277 #, 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:3284 #, 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:3383 #, 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:3447 #, 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:3456 #, 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:3465 #, 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:3483 #, 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:3492 #, 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:3512 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "%2$s句のリレーション\"%1$s\"はFROM句にありません" @@ -16679,7 +16699,7 @@ msgstr "offset PRECEDING/FOLLOWING を伴った RANGE は列型 %s とオフセ 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_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 #, c-format msgid "cannot cast type %s to %s" msgstr "型%sから%sへの型変換ができません" @@ -16735,17 +16755,17 @@ msgstr "%sで型%sから%sへ変換できませんでした" 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 +#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 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 +#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 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:2316 parser/parse_coerce.c:2396 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です" @@ -16989,27 +17009,27 @@ 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:926 +#: parser/parse_cte.c:917 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "再帰問い合わせ内の ORDER BY は実装されていません" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:923 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "再帰問い合わせ内の OFFSET は実装されていません" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:929 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "再帰問い合わせ内の LIMIT は実装されていません" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:935 #, 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:1014 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "問い合わせ\"%s\"への再帰参照が2回以上現れてはなりません" @@ -17019,7 +17039,7 @@ msgstr "問い合わせ\"%s\"への再帰参照が2回以上現れてはなり 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: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 #, c-format msgid "column %s.%s does not exist" msgstr "列%s.%sは存在しません" @@ -17052,7 +17072,7 @@ msgstr "列参照はDEFAULT式では使用できません" 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:810 parser/parse_relation.c:833 parser/parse_relation.c:915 parser/parse_target.c:1239 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "列参照\"%s\"は曖昧です" @@ -17141,7 +17161,7 @@ msgstr "副問い合わせは COPY FROM の WHERE 条件では使用できませ msgid "cannot use subquery in column generation expression" msgstr "副問い合わせはカラム生成式では使用できません" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3626 #, c-format msgid "subquery must return only one column" msgstr "副問い合わせは1列のみを返さなければなりません" @@ -17276,17 +17296,17 @@ msgstr "JSON符号化方式ではUTF8のみがサポートされています。" 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:3710 parser/parse_func.c:865 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "ウィンドウ関数に対する集約の ORDER BY は実装されていません" -#: parser/parse_expr.c:3934 +#: parser/parse_expr.c:3933 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "bytrea以外の入力型に対しては JSON FORMAT ENCODING句は使用できません" -#: parser/parse_expr.c:3954 +#: parser/parse_expr.c:3953 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "JSON述語では型%sを使用できません" @@ -17627,22 +17647,22 @@ msgstr "集合返却関数はカラム生成式では使用できません" msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "MERGE文ではWITH RECURSIVEはサポートされません" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:166 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "無条件WHEN句の後に指定されて到達不能なWHEN句" -#: parser/parse_merge.c:191 +#: parser/parse_merge.c:196 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGEはルールを持つリレーションに対してはサポートされません。" -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:213 #, c-format msgid "name \"%s\" specified more than once" msgstr "名前\"%s\"が複数回指定されています" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:215 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "この名前はMERGEのターゲットテーブルとデータソースの両方で使用されています" @@ -17737,12 +17757,12 @@ 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:3639 parser/parse_relation.c:3648 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "テーブル\"%s\"用のFROM句に対する不正な参照" -#: parser/parse_relation.c:498 parser/parse_relation.c:3641 +#: parser/parse_relation.c:498 parser/parse_relation.c:3650 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "テーブル\"%s\"の項目がありますが、問い合わせのこの部分からは参照できません。\"" @@ -17842,52 +17862,52 @@ msgstr "結合式\"%s\"では%d列使用できますが、%d列指定されま msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH 問い合わせ\"%s\"にRETURNING句がありません" -#: parser/parse_relation.c:3632 +#: parser/parse_relation.c:3641 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "テーブル別名\"%s\"を参照しようとしていたようです。" -#: parser/parse_relation.c:3644 +#: parser/parse_relation.c:3653 #, 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:3659 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "テーブル\"%s\"用のFROM句エントリがありません" -#: parser/parse_relation.c:3690 +#: parser/parse_relation.c:3699 #, 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:3701 #, c-format msgid "Try using a table-qualified name." msgstr "テーブル名で修飾した名前を試してください。" -#: parser/parse_relation.c:3700 +#: parser/parse_relation.c:3709 #, 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:3703 +#: parser/parse_relation.c:3712 #, 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:3714 #, c-format msgid "To reference that column, you must use a table-qualified name." msgstr "その列を参照するには、テーブル名で修飾した名前を使う必要があります。" -#: parser/parse_relation.c:3725 +#: parser/parse_relation.c:3734 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "列\"%s.%s\"を参照しようとしていたようです。" -#: parser/parse_relation.c:3739 +#: parser/parse_relation.c:3748 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "列\"%s.%s\"または列\"%s.%s\"を参照しようとしていたようです。" @@ -17922,17 +17942,17 @@ msgstr "型%3$sが複合型でありませんので、列\"%2$s\"のフィール 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:869 +#: parser/parse_target.c:878 #, 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:888 #, 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:1328 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "テーブル指定のないSELECT *は無効です" @@ -17972,322 +17992,322 @@ 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:580 +#: parser/parse_utilcmd.c:583 #, c-format msgid "array of serial is not implemented" msgstr "連番(SERIAL)の配列は実装されていません" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:662 parser/parse_utilcmd.c:674 parser/parse_utilcmd.c:733 #, 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:683 +#: parser/parse_utilcmd.c:686 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"で複数のデフォルト値の指定があります" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:703 #, c-format msgid "identity columns are not supported on typed tables" msgstr "型付けされたテーブルでは識別列はサポートされていません" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:707 #, c-format msgid "identity columns are not supported on partitions" msgstr "パーティションでは識別列はサポートされていません" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:716 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"に複数の識別指定があります" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:746 #, c-format msgid "generated columns are not supported on typed tables" msgstr "型付けされたテーブルでは生成カラムはサポートされていません" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:750 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"に複数のGENERATED句の指定があります" -#: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 +#: parser/parse_utilcmd.c:768 parser/parse_utilcmd.c:883 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "外部テーブルでは主キー制約はサポートされていません" -#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:890 +#: parser/parse_utilcmd.c:777 parser/parse_utilcmd.c:893 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "外部テーブルではユニーク制約はサポートされていません" -#: parser/parse_utilcmd.c:819 +#: parser/parse_utilcmd.c:822 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "デフォルト値と識別指定の両方がテーブル\"%2$s\"の列\"%1$s\"に指定されています" -#: parser/parse_utilcmd.c:827 +#: parser/parse_utilcmd.c:830 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"にデフォルト値と生成式の両方が指定されています" -#: parser/parse_utilcmd.c:835 +#: parser/parse_utilcmd.c:838 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"に識別指定と生成式の両方が指定されています" -#: parser/parse_utilcmd.c:900 +#: parser/parse_utilcmd.c:903 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "外部テーブルでは除外制約はサポートされていません" -#: parser/parse_utilcmd.c:906 +#: parser/parse_utilcmd.c:909 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "パーティションテーブルでは除外制約はサポートされていません" -#: parser/parse_utilcmd.c:971 +#: parser/parse_utilcmd.c:974 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "外部テーブルの作成においてLIKEはサポートされていません" -#: parser/parse_utilcmd.c:984 +#: parser/parse_utilcmd.c:987 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "LIKE句ではリレーション\"%s\"は不正です" -#: parser/parse_utilcmd.c:1741 parser/parse_utilcmd.c:1849 +#: parser/parse_utilcmd.c:1746 parser/parse_utilcmd.c:1854 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "インデックス\"%s\"には行全体テーブル参照が含まれます" -#: parser/parse_utilcmd.c:2236 +#: parser/parse_utilcmd.c:2252 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "CREATE TABLE では既存のインデックスを使えません" -#: parser/parse_utilcmd.c:2256 +#: parser/parse_utilcmd.c:2272 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "インデックス\"%s\"はすでに1つの制約に割り当てられています" -#: parser/parse_utilcmd.c:2277 +#: parser/parse_utilcmd.c:2293 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\"はユニークインデックスではありません" -#: parser/parse_utilcmd.c:2278 parser/parse_utilcmd.c:2285 parser/parse_utilcmd.c:2292 parser/parse_utilcmd.c:2369 +#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "このようなインデックスを使ってプライマリキーや一意性制約を作成することはできません" -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2300 #, c-format msgid "index \"%s\" contains expressions" msgstr "インデックス\"%s\"は式を含んでいます" -#: parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2307 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\"は部分インデックスです" -#: parser/parse_utilcmd.c:2303 +#: parser/parse_utilcmd.c:2319 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\"は遅延可能インデックスです" -#: parser/parse_utilcmd.c:2304 +#: parser/parse_utilcmd.c:2320 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "遅延可能インデックスを使った遅延不可制約は作れません。" -#: parser/parse_utilcmd.c:2368 +#: parser/parse_utilcmd.c:2384 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "インデックス\"%s\"の列番号%dにはデフォルトのソート動作がありません" -#: parser/parse_utilcmd.c:2525 +#: parser/parse_utilcmd.c:2541 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "列\"%s\"がプライマリキー制約内に2回出現します" -#: parser/parse_utilcmd.c:2531 +#: parser/parse_utilcmd.c:2547 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "列\"%s\"が一意性制約内に2回出現します" -#: parser/parse_utilcmd.c:2878 +#: parser/parse_utilcmd.c:2881 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "インデックス式と述語はインデックス付けされるテーブルのみを参照できます" -#: parser/parse_utilcmd.c:2950 +#: parser/parse_utilcmd.c:2953 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "統計情報式は参照されているテーブルのみを参照できます" -#: parser/parse_utilcmd.c:2993 +#: parser/parse_utilcmd.c:2996 #, c-format msgid "rules on materialized views are not supported" msgstr "実体化ビューに対するルールはサポートされません" -#: parser/parse_utilcmd.c:3053 +#: parser/parse_utilcmd.c:3056 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "ルールのWHERE条件に他のリレーションへの参照を持たせられません" -#: parser/parse_utilcmd.c:3125 +#: parser/parse_utilcmd.c:3128 #, 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:3143 parser/parse_utilcmd.c:3244 rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 +#: parser/parse_utilcmd.c:3146 parser/parse_utilcmd.c:3247 rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "条件付きのUNION/INTERSECT/EXCEPT文は実装されていません" -#: parser/parse_utilcmd.c:3161 +#: parser/parse_utilcmd.c:3164 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON SELECTルールではOLDを使用できません" -#: parser/parse_utilcmd.c:3165 +#: parser/parse_utilcmd.c:3168 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON SELECTルールではNEWを使用できません" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3177 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON INSERTルールではOLDを使用できません" -#: parser/parse_utilcmd.c:3180 +#: parser/parse_utilcmd.c:3183 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON DELETEルールではNEWを使用できません" -#: parser/parse_utilcmd.c:3208 +#: parser/parse_utilcmd.c:3211 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "WITH 問い合わせ内では OLD は参照できません" -#: parser/parse_utilcmd.c:3215 +#: parser/parse_utilcmd.c:3218 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "WITH 問い合わせ内では NEW は参照できません" -#: parser/parse_utilcmd.c:3667 +#: parser/parse_utilcmd.c:3666 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "DEFERRABLE句の場所が間違っています" -#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 +#: parser/parse_utilcmd.c:3671 parser/parse_utilcmd.c:3686 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "複数のDEFERRABLE/NOT DEFERRABLE句を使用できません" -#: parser/parse_utilcmd.c:3682 +#: parser/parse_utilcmd.c:3681 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "NOT DEFERRABLE句の場所が間違っています" -#: parser/parse_utilcmd.c:3703 +#: parser/parse_utilcmd.c:3702 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "INITIALLY DEFERRED句の場所が間違っています<" -#: parser/parse_utilcmd.c:3708 parser/parse_utilcmd.c:3734 +#: parser/parse_utilcmd.c:3707 parser/parse_utilcmd.c:3733 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "複数のINITIALLY IMMEDIATE/DEFERRED句を使用できません" -#: parser/parse_utilcmd.c:3729 +#: parser/parse_utilcmd.c:3728 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "INITIALLY IMMEDIATE句の場所が間違っています<" -#: parser/parse_utilcmd.c:3922 +#: parser/parse_utilcmd.c:3921 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATEで指定したスキーマ(%s)が作成先のスキーマ(%s)と異なります" -#: parser/parse_utilcmd.c:3957 +#: parser/parse_utilcmd.c:3956 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\"はパーティションテーブルではありません" -#: parser/parse_utilcmd.c:3964 +#: parser/parse_utilcmd.c:3963 #, c-format msgid "table \"%s\" is not partitioned" msgstr "テーブル\"%s\"はパーティションされていません" -#: parser/parse_utilcmd.c:3971 +#: parser/parse_utilcmd.c:3970 #, c-format msgid "index \"%s\" is not partitioned" msgstr "インデックス\"%s\"はパーティションされていません" -#: parser/parse_utilcmd.c:4011 +#: parser/parse_utilcmd.c:4010 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "ハッシュパーティションテーブルはデフォルトパーティションを持つことができません" -#: parser/parse_utilcmd.c:4028 +#: parser/parse_utilcmd.c:4027 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ハッシュパーティションに対する不正な境界指定" -#: parser/parse_utilcmd.c:4034 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4033 partitioning/partbounds.c:4803 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "ハッシュパーティションの法は0より大きい整数にする必要があります" -#: parser/parse_utilcmd.c:4041 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4040 partitioning/partbounds.c:4811 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "ハッシュパーティションの剰余は法よりも小さくなければなりません" -#: parser/parse_utilcmd.c:4054 +#: parser/parse_utilcmd.c:4053 #, c-format msgid "invalid bound specification for a list partition" msgstr "リストパーティションに対する不正な境界指定" -#: parser/parse_utilcmd.c:4107 +#: parser/parse_utilcmd.c:4106 #, c-format msgid "invalid bound specification for a range partition" msgstr "範囲パーティションに対する不正な境界指定" -#: parser/parse_utilcmd.c:4113 +#: parser/parse_utilcmd.c:4112 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROMは全てのパーティション列ごとに一つの値を指定しなければなりません" -#: parser/parse_utilcmd.c:4117 +#: parser/parse_utilcmd.c:4116 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TOは全てのパーティション列ごとに一つの値を指定しなければなりません" -#: parser/parse_utilcmd.c:4231 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "範囲境界でNULLは使用できません" -#: parser/parse_utilcmd.c:4280 +#: parser/parse_utilcmd.c:4279 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "MAXVALUEに続く境界値はMAXVALUEでなければなりません" -#: parser/parse_utilcmd.c:4287 +#: parser/parse_utilcmd.c:4286 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "MINVALUEに続く境界値はMINVALUEでなければなりません" -#: parser/parse_utilcmd.c:4330 +#: parser/parse_utilcmd.c:4329 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "指定した値は列\"%s\"の%s型に変換できません" @@ -18305,7 +18325,7 @@ msgstr "不正なUnicodeエスケープ文字" msgid "invalid Unicode escape value" msgstr "不正なUnicodeエスケープシーケンスの値" -#: parser/parser.c:494 scan.l:701 utils/adt/varlena.c:6505 +#: parser/parser.c:494 scan.l:702 utils/adt/varlena.c:6505 #, c-format msgid "invalid Unicode escape" msgstr "不正なUnicodeエスケープ" @@ -18315,7 +18335,7 @@ msgstr "不正なUnicodeエスケープ" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Unicodeエスケープは\\XXXXまたは\\+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:663 scan.l:679 scan.l:695 utils/adt/varlena.c:6530 #, c-format msgid "invalid Unicode surrogate pair" msgstr "不正なUnicodeサロゲートペア" @@ -18610,47 +18630,47 @@ msgstr "失敗したシステムコールはMapViewOfFileExです。" msgid "Failed system call was MapViewOfFileEx." msgstr "失敗したシステムコールはMapViewOfFileExです。" -#: postmaster/autovacuum.c:417 +#: postmaster/autovacuum.c:418 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "自動VACUUM起動プロセスを fork できませんでした: %m" -#: postmaster/autovacuum.c:764 +#: postmaster/autovacuum.c:765 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "自動VACUUMワーカーの起動に時間がかかりすぎています; キャンセルしました" -#: postmaster/autovacuum.c:1489 +#: postmaster/autovacuum.c:1490 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "自動VACUUMワーカープロセスをforkできませんでした: %m" -#: postmaster/autovacuum.c:2334 +#: postmaster/autovacuum.c:2353 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "自動VACUUM: 孤立した一時テーブル\"%s.%s.%s\"を削除します" -#: postmaster/autovacuum.c:2570 +#: postmaster/autovacuum.c:2589 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "テーブル\"%s.%s.%s\"に対する自動VACUUM" -#: postmaster/autovacuum.c:2573 +#: postmaster/autovacuum.c:2592 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "テーブル\"%s.%s.%s\"に対する自動ANALYZE" -#: postmaster/autovacuum.c:2767 +#: postmaster/autovacuum.c:2786 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "リレーション\"%s.%s.%s\"の作業エントリを処理しています" -#: postmaster/autovacuum.c:3381 +#: postmaster/autovacuum.c:3400 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "誤設定のため自動VACUUMが起動できません" -#: postmaster/autovacuum.c:3382 +#: postmaster/autovacuum.c:3401 #, c-format msgid "Enable the \"track_counts\" option." msgstr "\"track_counts\"オプションを有効にしてください。" @@ -19615,7 +19635,7 @@ msgstr "max_replication_slots = 0 の時は論理レプリケーションワー 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:425 replication/logical/launcher.c:499 replication/slot.c:1297 storage/lmgr/lock.c:998 storage/lmgr/lock.c:1036 storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4206 storage/lmgr/lock.c:4271 storage/lmgr/lock.c:4621 storage/lmgr/predicate.c:2413 storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 #, c-format msgid "You might need to increase %s." msgstr "%sを大きくする必要があるかもしれません。" @@ -19645,67 +19665,67 @@ msgstr "論理デコードを行うためには wal_level >= logical である msgid "logical decoding requires a database connection" msgstr "論理デコードを行うにはデータベース接続が必要です" -#: replication/logical/logical.c:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:366 replication/logical/logical.c:520 #, 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:371 replication/logical/logical.c:525 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "レプリケーションスロット\"%s\"はこのデータベースでは作成されていません" -#: replication/logical/logical.c:375 +#: replication/logical/logical.c:378 #, 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:537 replication/logical/logical.c:544 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "すでにレプリケーションスロット\"%s\"から変更を取り出すことはできません" -#: replication/logical/logical.c:536 +#: replication/logical/logical.c:539 #, 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:546 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "リカバリとの競合のため、このスロットは無効化されました。" -#: replication/logical/logical.c:608 +#: replication/logical/logical.c:611 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "スロット\"%s\"の論理デコードを開始します" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:613 #, 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:758 +#: replication/logical/logical.c:761 #, 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:767 #, 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:938 replication/logical/logical.c:983 replication/logical/logical.c:1028 replication/logical/logical.c:1074 #, 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:1306 replication/logical/logical.c:1355 replication/logical/logical.c:1396 replication/logical/logical.c:1482 replication/logical/logical.c:1531 #, c-format msgid "logical streaming requires a %s callback" msgstr "論理ストリーミングを行うには%sコールバックが必要です" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1441 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "プリペア時の論理ストリーミングを行うには%sコールバックが必要です" @@ -19800,7 +19820,7 @@ msgstr "ID%dのレプリケーション基点は既にPID%dで使用中です" 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:1155 replication/slot.c:2120 #, c-format msgid "Increase max_replication_slots and try again." msgstr "max_replication_slotsを増やして再度試してください" @@ -19887,112 +19907,112 @@ 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:1388 replication/logical/snapbuild.c:1480 replication/logical/snapbuild.c:1996 +#: replication/logical/snapbuild.c:1392 replication/logical/snapbuild.c:1489 replication/logical/snapbuild.c:2005 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "論理デコードは一貫性ポイントを%X/%Xで発見しました" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1394 #, c-format msgid "There are no running transactions." msgstr "実行中のトランザクションはありません。" -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1441 #, 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:1443 replication/logical/snapbuild.c:1467 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "%2$uより古いトランザクション(おおよそ%1$d個)の完了を待っています" -#: replication/logical/snapbuild.c:1456 +#: replication/logical/snapbuild.c:1465 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "論理デコードは初期の一貫性ポイントを%X/%Xで発見しました" -#: replication/logical/snapbuild.c:1482 +#: replication/logical/snapbuild.c:1491 #, c-format msgid "There are no old transactions anymore." msgstr "古いトランザクションはこれ以上はありません" -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1892 #, 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:1889 +#: replication/logical/snapbuild.c:1898 #, 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:1930 +#: replication/logical/snapbuild.c:1939 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "スナップショット生成状態ファイル\"%s\"のチェックサムが一致しません: %uですが、%uであるべきです" -#: replication/logical/snapbuild.c:1998 +#: replication/logical/snapbuild.c:2007 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "論理デコードは保存されたスナップショットを使って開始します。" -#: replication/logical/snapbuild.c:2105 +#: replication/logical/snapbuild.c:2114 #, c-format msgid "could not parse file name \"%s\"" msgstr "ファイル名\"%s\"をパースできませんでした" -#: replication/logical/tablesync.c:153 +#: replication/logical/tablesync.c:160 #, 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:639 #, c-format 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:807 replication/logical/tablesync.c:949 +#: replication/logical/tablesync.c:814 replication/logical/tablesync.c:956 #, 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:821 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "テーブル\"%s.%s\"が発行サーバー上で見つかりませんでした" -#: replication/logical/tablesync.c:872 +#: replication/logical/tablesync.c:879 #, 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:1058 #, 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:1210 +#: replication/logical/tablesync.c:1217 #, 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:1418 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "テーブルコピー中に発行サーバー上でのトランザクション開始に失敗しました: %s" -#: replication/logical/tablesync.c:1453 +#: replication/logical/tablesync.c:1460 #, c-format msgid "replication origin \"%s\" already exists" msgstr "レプリケーション基点\"%s\"はすでに存在します" -#: replication/logical/tablesync.c:1486 replication/logical/worker.c:2374 +#: replication/logical/tablesync.c:1493 replication/logical/worker.c:2374 #, 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:1506 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "テーブルコピー中に発行サーバー上でのトランザクション終了に失敗しました: %s" @@ -20242,7 +20262,7 @@ msgstr "レプリケーションスロット\"%s\"は存在しません" 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:756 replication/slot.c:1672 replication/slot.c:2055 #, c-format msgid "could not remove directory \"%s\"" msgstr "ディレクトリ\"%s\"を削除できませんでした" @@ -20292,47 +20312,47 @@ msgstr "プロセス%dを終了してレプリケーションスロット\"%s\" msgid "invalidating obsolete replication slot \"%s\"" msgstr "使用不能のレプリケーションスロット\"%s\"を無効化します" -#: replication/slot.c:1966 +#: replication/slot.c:1993 #, 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:1973 +#: replication/slot.c:2000 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "レプリケーションスロットファイル\"%s\"はサポート外のバージョン%uです" -#: replication/slot.c:1980 +#: replication/slot.c:2007 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "レプリケーションスロットファイル\"%s\"のサイズ%uは異常です" -#: replication/slot.c:2016 +#: replication/slot.c:2043 #, 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:2077 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "論理レプリケーションスロット\"%s\"がありますが、wal_level < logical です" -#: replication/slot.c:2052 +#: replication/slot.c:2079 #, c-format msgid "Change wal_level to be logical or higher." msgstr "wal_level を logical もしくはそれより上位の設定にしてください。" -#: replication/slot.c:2056 +#: replication/slot.c:2083 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" msgstr "物理レプリケーションスロット\"%s\"がありますが、wal_level < replica です" -#: replication/slot.c:2058 +#: replication/slot.c:2085 #, c-format msgid "Change wal_level to be replica or higher." msgstr "wal_level を replica もしくはそれより上位の設定にしてください。" -#: replication/slot.c:2092 +#: replication/slot.c:2119 #, c-format msgid "too many replication slots active before shutdown" msgstr "シャットダウン前のアクティブなレプリケーションスロットの数が多すぎます" @@ -20839,7 +20859,7 @@ msgstr "列\"%s\"はDEFAULTにのみ更新可能です" msgid "multiple assignments to same column \"%s\"" msgstr "同じ列\"%s\"に複数の代入があります" -#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4047 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "リレーション\"%s\"のルールで無限再帰を検出しました" @@ -20913,82 +20933,82 @@ msgstr "TABLESAMPLEを含むビューは自動更新できません。" msgid "Views that have no updatable columns are not automatically updatable." msgstr "更新可能な列を持たないビューは自動更新できません。" -#: rewrite/rewriteHandler.c:3155 +#: rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"への挿入はできません" -#: rewrite/rewriteHandler.c:3163 +#: rewrite/rewriteHandler.c:3176 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"は更新できません" -#: rewrite/rewriteHandler.c:3667 +#: rewrite/rewriteHandler.c:3674 #, 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:3685 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は DO INSTEAD NOTHING ルールはサポートされません" -#: rewrite/rewriteHandler.c:3692 +#: rewrite/rewriteHandler.c:3699 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は、条件付き DO INSTEAD ルールはサポートされません" -#: rewrite/rewriteHandler.c:3696 +#: rewrite/rewriteHandler.c:3703 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は DO ALSO ルールはサポートされません" -#: rewrite/rewriteHandler.c:3701 +#: rewrite/rewriteHandler.c:3708 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合はマルチステートメントの DO INSTEAD ルールはサポートされません" -#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 rewrite/rewriteHandler.c:3984 +#: rewrite/rewriteHandler.c:3975 rewrite/rewriteHandler.c:3983 rewrite/rewriteHandler.c:3991 #, c-format msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "条件付きDO INSTEADルールを持つビューは自動更新できません。" -#: rewrite/rewriteHandler.c:4089 +#: rewrite/rewriteHandler.c:4096 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのINSERT RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4091 +#: rewrite/rewriteHandler.c:4098 #, 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:4096 +#: rewrite/rewriteHandler.c:4103 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのUPDATE RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4098 +#: rewrite/rewriteHandler.c:4105 #, 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:4103 +#: rewrite/rewriteHandler.c:4110 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのDELETE RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4105 +#: rewrite/rewriteHandler.c:4112 #, 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:4123 +#: rewrite/rewriteHandler.c:4130 #, 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:4180 +#: rewrite/rewriteHandler.c:4187 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "複数問い合わせに対するルールにより書き換えられた問い合わせでは WITH を使用できません" @@ -21013,76 +21033,76 @@ 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:482 +#: scan.l:483 msgid "unterminated /* comment" msgstr "/*コメントが閉じていません" -#: scan.l:502 +#: scan.l:503 msgid "unterminated bit string literal" msgstr "ビット列リテラルの終端がありません" -#: scan.l:516 +#: scan.l:517 msgid "unterminated hexadecimal string literal" msgstr "16進数文字列リテラルの終端がありません" -#: scan.l:566 +#: scan.l:567 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "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 "Unicodeエスケープはstandard_conforming_stringsが無効な時に使用することはできません。" -#: scan.l:628 +#: scan.l:629 msgid "unhandled previous state in xqs" msgstr "xqsの中で処理されない前ステート" -#: scan.l:702 +#: scan.l:703 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Unicodeエスケープは\\uXXXXまたは\\UXXXXXXXXでなければなりません。" -#: scan.l:713 +#: scan.l:714 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "文字列リテラルで安全ではない\\'が使用されました。" -#: scan.l:714 +#: scan.l:715 #, c-format msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "文字列内で引用符を記述するには''を使用してください。\\'はクライアントのみで有効な符号化形式では安全ではありません。" -#: scan.l:786 +#: scan.l:787 msgid "unterminated dollar-quoted string" msgstr "文字列のドル引用符が閉じていません" -#: scan.l:803 scan.l:813 +#: scan.l:804 scan.l:814 msgid "zero-length delimited identifier" msgstr "二重引用符で囲まれた識別子の長さがゼロです" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:825 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "識別子の引用符が閉じていません" -#: scan.l:987 +#: scan.l:988 msgid "operator too long" msgstr "演算子が長すぎます" -#: scan.l:1000 +#: scan.l:1001 msgid "trailing junk after parameter" msgstr "パラメータの後に余分な文字" -#: scan.l:1021 +#: scan.l:1022 msgid "invalid hexadecimal integer" msgstr "不正な16進整数" -#: scan.l:1025 +#: scan.l:1026 msgid "invalid octal integer" msgstr "不正な8進整数" -#: scan.l:1029 +#: scan.l:1030 msgid "invalid binary integer" msgstr "不正な2進整数" @@ -21463,22 +21483,22 @@ msgstr "共有メモリセグメント\"%s\"をクローズできませんでし msgid "could not duplicate handle for \"%s\": %m" msgstr "\"%s\"のハンドルの複製ができませんでした: %m" -#: storage/ipc/procarray.c:3795 +#: storage/ipc/procarray.c:3807 #, 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/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 +#: storage/ipc/procarray.c:3843 storage/ipc/procarray.c:3851 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:3844 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:3852 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ロール権限を持つロールのみがこのプロセスを終了できます。" @@ -21498,7 +21518,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: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:997 storage/lmgr/lock.c:1035 storage/lmgr/lock.c:2820 storage/lmgr/lock.c:4205 storage/lmgr/lock.c:4270 storage/lmgr/lock.c:4620 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 #, c-format msgid "out of shared memory" msgstr "共有メモリが足りません" @@ -21677,122 +21697,122 @@ msgstr "デッドロックを検出しました" msgid "See server log for query details." msgstr "問い合わせの詳細はサーバーログを参照してください" -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:853 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)の更新中" -#: storage/lmgr/lmgr.c:862 +#: storage/lmgr/lmgr.c:856 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)の削除中" -#: storage/lmgr/lmgr.c:865 +#: storage/lmgr/lmgr.c:859 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)のロック中" -#: storage/lmgr/lmgr.c:868 +#: storage/lmgr/lmgr.c:862 #, 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:871 +#: storage/lmgr/lmgr.c:865 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のインデックスタプル(%1$u,%2$u)の挿入中" -#: storage/lmgr/lmgr.c:874 +#: storage/lmgr/lmgr.c:868 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)の一意性の確認中" -#: storage/lmgr/lmgr.c:877 +#: storage/lmgr/lmgr.c:871 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"の更新されたタプル(%1$u,%2$u)の再チェック中" -#: storage/lmgr/lmgr.c:880 +#: storage/lmgr/lmgr.c:874 #, 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:1174 +#: storage/lmgr/lmgr.c:1206 #, c-format msgid "relation %u of database %u" msgstr "データベース%2$uのリレーション%1$u" -#: storage/lmgr/lmgr.c:1180 +#: storage/lmgr/lmgr.c:1212 #, c-format msgid "extension of relation %u of database %u" msgstr "データベース%2$uのリレーション%1$uの拡張" -#: storage/lmgr/lmgr.c:1186 +#: storage/lmgr/lmgr.c:1218 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "データベース%uのpg_database.datfrozenxid" -#: storage/lmgr/lmgr.c:1191 +#: storage/lmgr/lmgr.c:1223 #, c-format msgid "page %u of relation %u of database %u" msgstr "データベース%3$uのリレーション%2$uのページ%1$u" -#: storage/lmgr/lmgr.c:1198 +#: storage/lmgr/lmgr.c:1230 #, 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:1206 +#: storage/lmgr/lmgr.c:1238 #, c-format msgid "transaction %u" msgstr "トランザクション %u" -#: storage/lmgr/lmgr.c:1211 +#: storage/lmgr/lmgr.c:1243 #, c-format msgid "virtual transaction %d/%u" msgstr "仮想トランザクション %d/%u" -#: storage/lmgr/lmgr.c:1217 +#: storage/lmgr/lmgr.c:1249 #, c-format msgid "speculative token %u of transaction %u" msgstr "トランザクション%2$uの投機的書き込みトークン%1$u" -#: storage/lmgr/lmgr.c:1223 +#: storage/lmgr/lmgr.c:1255 #, c-format msgid "object %u of class %u of database %u" msgstr "データベース%3$uのリレーション%2$uのオブジェクト%1$u" -#: storage/lmgr/lmgr.c:1231 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "user lock [%u,%u,%u]" msgstr "ユーザーロック[%u,%u,%u]" -#: storage/lmgr/lmgr.c:1238 +#: storage/lmgr/lmgr.c:1270 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "アドバイザリ・ロック[%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1246 +#: storage/lmgr/lmgr.c:1278 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "データベース%3$uのサブスクリプション%2$uのリモートトランザクション%1$u" -#: storage/lmgr/lmgr.c:1253 +#: storage/lmgr/lmgr.c:1285 #, c-format msgid "unrecognized locktag type %d" msgstr "ロックタグタイプ%dは不明です" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:825 #, 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:827 #, 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:3269 storage/lmgr/lock.c:3337 storage/lmgr/lock.c:3453 #, c-format msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "同一オブジェクト上にセッションレベルとトランザクションレベルのロックの両方を保持している時にPREPAREすることはできません" @@ -22624,37 +22644,37 @@ msgstr "MaxFragments は 0 以上でなければなりません" msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "永続統計情報ファイル\"%s\"をunlinkできませんでした: %m" -#: utils/activity/pgstat.c:1252 +#: utils/activity/pgstat.c:1255 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "不正な統計情報種別: \"%s\"" -#: utils/activity/pgstat.c:1332 +#: utils/activity/pgstat.c:1335 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "一時統計情報ファイル\"%s\"をオープンできませんでした: %m" -#: utils/activity/pgstat.c:1444 +#: utils/activity/pgstat.c:1447 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "一時統計情報ファイル\"%s\"に書き込みできませんでした: %m" -#: utils/activity/pgstat.c:1453 +#: utils/activity/pgstat.c:1456 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "一時統計情報ファイル\"%s\"をクローズできませんでした: %m" -#: utils/activity/pgstat.c:1461 +#: utils/activity/pgstat.c:1464 #, 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:1513 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "統計情報ファイル\"%s\"をオープンできませんでした: %m" -#: utils/activity/pgstat.c:1672 +#: utils/activity/pgstat.c:1675 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "統計情報ファイル\"%s\"が破損しています" @@ -22780,7 +22800,7 @@ 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/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/int.c:1331 utils/adt/int.c:1337 utils/adt/int8.c:1272 utils/adt/numeric.c:1916 utils/adt/numeric.c:4403 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 #, c-format msgid "integer out of range" msgstr "integerの範囲外です" @@ -23087,24 +23107,29 @@ 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/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/bool.c:153 utils/adt/cash.c:354 utils/adt/datetime.c:4028 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/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:802 utils/adt/numeric.c:7151 utils/adt/numeric.c:7354 utils/adt/numeric.c:8301 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 #, 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: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:3190 utils/adt/numeric.c:3213 utils/adt/numeric.c:3298 utils/adt/numeric.c:3316 utils/adt/numeric.c:3412 +#: utils/adt/numeric.c:8850 utils/adt/numeric.c:9163 utils/adt/numeric.c:9511 utils/adt/numeric.c:9627 utils/adt/numeric.c:11138 utils/adt/timestamp.c:3442 #, 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: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 +#, 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" @@ -23135,7 +23160,7 @@ msgstr "TIME(%d)%sの位取りを許容最大値%dまで減らしました" 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:2460 +#: 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:2512 #, c-format msgid "date out of range" msgstr "日付が範囲外です" @@ -23160,20 +23185,20 @@ msgstr "無限大の日付は減算できません" 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: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 #, 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: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 #, 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:2482 utils/adt/xml.c:2489 utils/adt/xml.c:2509 utils/adt/xml.c:2516 +#: 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:2534 utils/adt/xml.c:2541 utils/adt/xml.c:2561 utils/adt/xml.c:2568 #, c-format msgid "timestamp out of range" msgstr "timestampの範囲外です" @@ -23188,7 +23213,7 @@ msgstr "時刻が範囲外です" msgid "time field value out of range: %d:%02d:%02g" msgstr "時刻フィールドの値が範囲外です: %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: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:2594 utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540 utils/adt/timestamp.c:3571 #, c-format msgid "invalid preceding or following size in window function" msgstr "ウィンドウ関数での不正なサイズの PRECEDING または FOLLOWING 指定" @@ -23198,37 +23223,37 @@ msgstr "ウィンドウ関数での不正なサイズの PRECEDING または FOL 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:3111 utils/adt/timestamp.c:5598 utils/adt/timestamp.c:5828 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "intervalによるタイムゾーン\"%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:3234 utils/adt/datetime.c:4013 utils/adt/datetime.c:4019 utils/adt/timestamp.c:512 #, c-format msgid "time zone \"%s\" not recognized" msgstr "タイムゾーン\"%s\"は不明です" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:3987 utils/adt/datetime.c:3994 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "日付時刻のフィールドが範囲外です: \"%s\"" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:3996 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "他の\"datestyle\"設定が必要かもしれません。" -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4001 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "intervalフィールドの値が範囲外です: \"%s\"" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4007 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "タイムゾーンの置換が範囲外です: \"%s\"" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4021 #, c-format msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"." msgstr "このタイムゾーンはタイムゾーン省略名\"%s\"の構成ファイルにあるようです。" @@ -23353,32 +23378,32 @@ msgstr "型realでは\"%s\"は範囲外です" msgid "\"%s\" is out of range for type double precision" msgstr "型double precisionでは\"%s\"は範囲外です" -#: utils/adt/float.c:1253 utils/adt/float.c:1327 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/float.c:1253 utils/adt/float.c:1327 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:4515 utils/adt/numeric.c:4520 #, 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:1453 utils/adt/numeric.c:3708 utils/adt/numeric.c:10042 #, 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:1521 utils/adt/numeric.c:3996 utils/adt/numeric.c:4108 #, c-format msgid "zero raised to a negative power is undefined" msgstr "0 の負数乗は定義されていません" -#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1525 utils/adt/numeric.c:4000 utils/adt/numeric.c:10933 #, 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:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3908 utils/adt/numeric.c:10713 #, 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:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3846 utils/adt/numeric.c:3903 utils/adt/numeric.c:10717 #, c-format msgid "cannot take logarithm of a negative number" msgstr "負の値の対数を取ることができません" @@ -23393,22 +23418,22 @@ msgstr "入力が範囲外です" 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:4095 utils/adt/numeric.c:1856 #, c-format msgid "count must be greater than zero" msgstr "カウントは0より大きくなければなりません" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4100 utils/adt/numeric.c:1867 #, 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:4106 utils/adt/numeric.c:1872 #, 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:4172 utils/adt/numeric.c:1886 #, c-format msgid "lower bound cannot equal upper bound" msgstr "下限を上限と同じにできません" @@ -23753,18 +23778,18 @@ 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:1419 utils/adt/numeric.c:1764 utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971 #, 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/varbit.c:1676 +#: 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:4474 utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigintの範囲外です" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1376 #, c-format msgid "OID out of range" msgstr "OIDの範囲外です" @@ -23774,7 +23799,7 @@ msgstr "OIDの範囲外です" 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:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2090 #, c-format msgid "could not determine data type for argument %d" msgstr "引数%dのデータ型が特定できませんでした" @@ -24202,67 +24227,67 @@ msgstr "jsonpath項目メソッド .%s() の文字列引数は有効な倍精度 msgid "jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "jsonpath 項目メソッド .%s() は文字列または数値にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:1584 +#: utils/adt/jsonpath_exec.c:1587 #, 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:1594 #, 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:1662 #, 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:1761 #, 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:1801 #, 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:1904 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "datetime書式を認識できません: \"%s\"" -#: utils/adt/jsonpath_exec.c:1903 +#: utils/adt/jsonpath_exec.c:1906 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "datetimeテンプレート引数を使って入力データフォーマットを指定してください。" -#: utils/adt/jsonpath_exec.c:1971 +#: utils/adt/jsonpath_exec.c:1974 #, 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:2156 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "jsonpath変数\"%s\"が見つかりませんでした" -#: utils/adt/jsonpath_exec.c:2417 +#: utils/adt/jsonpath_exec.c:2420 #, 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:2432 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "jsonpath配列の添え字が整数の範囲外です" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:2609 #, 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:2611 #, c-format msgid "Use *_tz() function for time zone support." msgstr "*_tz() 関数を使用することで時間帯がサポートされます。" @@ -24504,102 +24529,102 @@ 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:792 utils/adt/numeric.c:3658 utils/adt/numeric.c:7146 utils/adt/numeric.c:7349 utils/adt/numeric.c:7821 utils/adt/numeric.c:10516 utils/adt/numeric.c:10991 utils/adt/numeric.c:11085 utils/adt/numeric.c:11220 #, c-format msgid "value overflows numeric format" msgstr "値がnumericの形式でオーバフローします" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1105 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "外部\"numeric\"の値の符号が不正です" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1111 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "外部\"numeric\"の値の位取りが不正です" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1120 #, 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:1335 utils/adt/numeric.c:1349 #, 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:1340 #, 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:1358 #, c-format msgid "invalid NUMERIC type modifier" msgstr "不正なNUMERIC型の修正子" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1724 #, c-format msgid "start value cannot be NaN" msgstr "開始値はNaNにはできません" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1728 #, c-format msgid "start value cannot be infinity" msgstr "開始値は無限大にはできません" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1735 #, c-format msgid "stop value cannot be NaN" msgstr "終了値はNaNにはできません" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1739 #, c-format msgid "stop value cannot be infinity" msgstr "終了値は無限大にはできません" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1752 #, c-format msgid "step size cannot be NaN" msgstr "加算量はNaNにはできません" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1756 #, c-format msgid "step size cannot be infinity" msgstr "加算量は無限大にはできません" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3648 #, 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:4381 utils/adt/numeric.c:4461 utils/adt/numeric.c:4502 utils/adt/numeric.c:4698 #, 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:4385 utils/adt/numeric.c:4465 utils/adt/numeric.c:4506 utils/adt/numeric.c:4702 #, c-format msgid "cannot convert infinity to %s" msgstr "無限大を%sに変換できません" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4711 #, 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:7911 utils/adt/numeric.c:7962 #, c-format msgid "numeric field overflow" msgstr "numericフィールドのオーバーフロー" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7912 #, 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:7963 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "精度%d、位取り%dを持つフィールドは、無限大値を格納できません。" @@ -24935,7 +24960,7 @@ msgstr "\"%s\"という名前の関数が複数あります" msgid "more than one operator named %s" msgstr "%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:2009 utils/adt/ruleutils.c:10021 utils/adt/ruleutils.c:10234 #, c-format msgid "too many arguments" msgstr "引数が多すぎます" @@ -25100,22 +25125,22 @@ msgstr "レコードの列 %3$d において、全く異なる型 %1$s と %2$s msgid "cannot compare record types with different numbers of columns" msgstr "個数が異なる列同士ではレコード型の比較ができません" -#: utils/adt/ruleutils.c:2694 +#: utils/adt/ruleutils.c:2679 #, c-format msgid "input is a query, not an expression" msgstr "入力が式ではなく文です" -#: utils/adt/ruleutils.c:2706 +#: utils/adt/ruleutils.c:2691 #, c-format msgid "expression contains variables of more than one relation" msgstr "式が2つ以上のリレーションの変数を含んでいます" -#: utils/adt/ruleutils.c:2713 +#: utils/adt/ruleutils.c:2698 #, c-format msgid "expression contains variables" msgstr "式が変数を含んでいます" -#: utils/adt/ruleutils.c:5227 +#: utils/adt/ruleutils.c:5228 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "ルール\"%s\"はサポートしていないイベントタイプ%dを持ちます" @@ -25160,8 +25185,8 @@ msgstr "タイムスタンプは NaN にはできません" 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: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: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 #, c-format msgid "interval out of range" msgstr "intervalが範囲外です" @@ -25191,22 +25216,22 @@ msgstr "interval(%d)の精度は%dから%dまででなければなりません" msgid "cannot subtract infinite timestamps" msgstr "無限大のtimestampを減算できません" -#: utils/adt/timestamp.c:4002 utils/adt/timestamp.c:4185 +#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4215 #, c-format msgid "origin out of range" msgstr "基点が範囲外です" -#: utils/adt/timestamp.c:4007 utils/adt/timestamp.c:4190 +#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4220 #, 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:4031 utils/adt/timestamp.c:4231 #, c-format msgid "stride must be greater than zero" msgstr "増分は0より大きくなければなりません" -#: utils/adt/timestamp.c:4480 +#: utils/adt/timestamp.c:4526 #, c-format msgid "Months usually have fractional weeks." msgstr "月は通常週の端数を含んでいます。" @@ -25241,32 +25266,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が大きすぎます" @@ -25556,181 +25581,181 @@ msgstr "不正なUnicodeコードポイント: %04X" msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Unicodeエスケープは \\XXXX、\\+XXXXXX、\\uXXXX または \\UXXXXXXXX でなければなりません。" -#: utils/adt/windowfuncs.c:442 +#: utils/adt/windowfuncs.c:443 #, c-format msgid "argument of ntile must be greater than zero" msgstr "ntileの値は0より大きくなければなりません" -#: utils/adt/windowfuncs.c:706 +#: utils/adt/windowfuncs.c:723 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "nth_valueの値0より大きくなければなりません" -#: utils/adt/xid8funcs.c:125 +#: utils/adt/xid8funcs.c:126 #, c-format msgid "transaction ID %llu is in the future" msgstr "トランザクションID %lluは未来の値です" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:555 #, c-format msgid "invalid external pg_snapshot data" msgstr "不正な外部pg_snapshotデータ" -#: utils/adt/xml.c:228 +#: utils/adt/xml.c:238 #, c-format msgid "unsupported XML feature" msgstr "非サポートのXML機能です。" -#: 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 "この機能はlibxmlサポート付きでビルドされたサーバーを必要とします。" -#: utils/adt/xml.c:248 utils/mb/mbutils.c:628 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "不正な符号化方式名\"%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 "無効なXMLコメント" -#: utils/adt/xml.c:660 +#: utils/adt/xml.c:670 #, c-format msgid "not an XML document" msgstr "XML文書ではありません" -#: utils/adt/xml.c:956 utils/adt/xml.c:979 +#: utils/adt/xml.c:966 utils/adt/xml.c:989 #, c-format msgid "invalid XML processing instruction" msgstr "無効なXML処理命令です" -#: utils/adt/xml.c:957 +#: utils/adt/xml.c:967 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "XML処理命令の対象名を\"%s\"とすることができませんでした。" -#: utils/adt/xml.c:980 +#: utils/adt/xml.c:990 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML処理命令には\"?>\"を含めることはできません。" -#: utils/adt/xml.c:1059 +#: utils/adt/xml.c:1069 #, c-format msgid "xmlvalidate is not implemented" msgstr "XML の妥当性検査は実装されていません" -#: utils/adt/xml.c:1115 +#: utils/adt/xml.c:1125 #, c-format msgid "could not initialize XML library" msgstr "XMLライブラリを初期化できませんでした" -#: utils/adt/xml.c:1116 +#: utils/adt/xml.c:1126 #, 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:1202 +#: utils/adt/xml.c:1212 #, c-format msgid "could not set up XML error handler" msgstr "XMLエラーハンドラを設定できませんでした" -#: utils/adt/xml.c:1203 +#: utils/adt/xml.c:1213 #, 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:2189 +#: utils/adt/xml.c:2241 msgid "Invalid character value." msgstr "文字の値が有効ではありません" -#: utils/adt/xml.c:2192 +#: utils/adt/xml.c:2244 msgid "Space required." msgstr "スペースをあけてください。" -#: utils/adt/xml.c:2195 +#: utils/adt/xml.c:2247 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone には 'yes' か 'no' だけが有効です。" -#: utils/adt/xml.c:2198 +#: utils/adt/xml.c:2250 msgid "Malformed declaration: missing version." msgstr "不正な形式の宣言: バージョンがありません。" -#: utils/adt/xml.c:2201 +#: utils/adt/xml.c:2253 msgid "Missing encoding in text declaration." msgstr "テキスト宣言にエンコーディングの指定がありません。" -#: utils/adt/xml.c:2204 +#: utils/adt/xml.c:2256 msgid "Parsing XML declaration: '?>' expected." msgstr "XML 宣言のパース中: '>?' が必要です。" -#: utils/adt/xml.c:2207 +#: utils/adt/xml.c:2259 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "認識できないlibxml のエラーコード: %d" -#: utils/adt/xml.c:2461 +#: utils/adt/xml.c:2513 #, c-format msgid "XML does not support infinite date values." msgstr "XMLはデータ値として無限をサポートしません。" -#: utils/adt/xml.c:2483 utils/adt/xml.c:2510 +#: utils/adt/xml.c:2535 utils/adt/xml.c:2562 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XMLタイムスタンプ値としては無限をサポートしません。" -#: utils/adt/xml.c:2926 +#: utils/adt/xml.c:2978 #, c-format msgid "invalid query" msgstr "不正な無効な問い合わせ" -#: utils/adt/xml.c:3018 +#: utils/adt/xml.c:3070 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "ポータル\"%s\"はタプルを返却しません" -#: utils/adt/xml.c:4270 +#: utils/adt/xml.c:4322 #, c-format msgid "invalid array for XML namespace mapping" msgstr "XML名前空間マッピングに対する不正な配列" -#: utils/adt/xml.c:4271 +#: utils/adt/xml.c:4323 #, 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:4295 +#: utils/adt/xml.c:4347 #, c-format msgid "empty XPath expression" msgstr "空のXPath式" -#: utils/adt/xml.c:4347 +#: utils/adt/xml.c:4399 #, c-format msgid "neither namespace name nor URI may be null" msgstr "名前空間名もURIもnullにはできません" -#: utils/adt/xml.c:4354 +#: utils/adt/xml.c:4406 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "\"%s\"という名前のXML名前空間およびURI\"%s\"を登録できませんでした" -#: utils/adt/xml.c:4697 +#: utils/adt/xml.c:4749 #, c-format msgid "DEFAULT namespace is not supported" msgstr "デフォルト名前空間は実装されていません" -#: utils/adt/xml.c:4726 +#: utils/adt/xml.c:4778 #, c-format msgid "row path filter must not be empty string" msgstr "行パスフィルタは空文字列であってはなりません" -#: utils/adt/xml.c:4757 +#: utils/adt/xml.c:4809 #, c-format msgid "column path filter must not be empty string" msgstr "列パスフィルタ空文字列であってはなりません" -#: utils/adt/xml.c:4901 +#: utils/adt/xml.c:4953 #, c-format msgid "more than one value returned by column XPath expression" msgstr "列XPath式が2つ以上の値を返却しました" @@ -25790,22 +25815,22 @@ msgstr "とりあえず続行しますが、何かがおかしいです。" msgid "could not remove cache file \"%s\": %m" msgstr "キャッシュファイル\"%s\"を削除できませんでした: %m" -#: utils/cache/relmapper.c:596 +#: utils/cache/relmapper.c:597 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "リレーションのマッピングを変更したトランザクションはPREPAREできません" -#: utils/cache/relmapper.c:850 +#: utils/cache/relmapper.c:853 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "リレーションマッピングファイル\"%s\"に不正なデータがあります" -#: utils/cache/relmapper.c:860 +#: utils/cache/relmapper.c:863 #, 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:1809 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "レコード型は登録されていません" @@ -25825,97 +25850,97 @@ msgstr "TRAP: Assert(\"%s\")が失敗、ファイル: \"%s\"、行: %d、PID: %d msgid "error occurred before error message processing is available\n" msgstr "エラーメッセージの処理が可能になる前にエラーが発生しました\n" -#: utils/error/elog.c:2092 +#: utils/error/elog.c:2112 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "ファイル\"%s\"の標準エラー出力としての再オープンに失敗しました: %m" -#: utils/error/elog.c:2105 +#: utils/error/elog.c:2125 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "ファイル\"%s\"の標準出力としての再オープンに失敗しました: %m" -#: utils/error/elog.c:2141 +#: utils/error/elog.c:2161 #, c-format msgid "invalid character" msgstr "不正な文字" -#: utils/error/elog.c:2847 utils/error/elog.c:2874 utils/error/elog.c:2890 +#: utils/error/elog.c:2867 utils/error/elog.c:2894 utils/error/elog.c:2910 msgid "[unknown]" msgstr "[不明]" -#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 +#: utils/error/elog.c:3183 utils/error/elog.c:3504 utils/error/elog.c:3611 msgid "missing error text" msgstr "エラーテキストがありません" -#: utils/error/elog.c:3166 utils/error/elog.c:3169 +#: utils/error/elog.c:3186 utils/error/elog.c:3189 #, c-format msgid " at character %d" msgstr "(%d文字目)" -#: utils/error/elog.c:3179 utils/error/elog.c:3186 +#: utils/error/elog.c:3199 utils/error/elog.c:3206 msgid "DETAIL: " msgstr "詳細: " -#: utils/error/elog.c:3193 +#: utils/error/elog.c:3213 msgid "HINT: " msgstr "ヒント: " -#: utils/error/elog.c:3200 +#: utils/error/elog.c:3220 msgid "QUERY: " msgstr "問い合わせ: " -#: utils/error/elog.c:3207 +#: utils/error/elog.c:3227 msgid "CONTEXT: " msgstr "文脈: " -#: utils/error/elog.c:3217 +#: utils/error/elog.c:3237 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "場所: %s, %s:%d\n" -#: utils/error/elog.c:3224 +#: utils/error/elog.c:3244 #, c-format msgid "LOCATION: %s:%d\n" msgstr "場所: %s:%d\n" -#: utils/error/elog.c:3231 +#: utils/error/elog.c:3251 msgid "BACKTRACE: " msgstr "バックトレース: " -#: utils/error/elog.c:3243 +#: utils/error/elog.c:3263 msgid "STATEMENT: " msgstr "文: " -#: utils/error/elog.c:3636 +#: utils/error/elog.c:3656 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3660 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3643 +#: utils/error/elog.c:3663 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3646 +#: utils/error/elog.c:3666 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3670 msgid "WARNING" msgstr "WARNING" -#: utils/error/elog.c:3653 +#: utils/error/elog.c:3673 msgid "ERROR" msgstr "ERROR" -#: utils/error/elog.c:3656 +#: utils/error/elog.c:3676 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3679 msgid "PANIC" msgstr "PANIC" @@ -26038,32 +26063,32 @@ msgstr "関数呼び出しコンテクストに演算子クラスオプション msgid "language validation function %u called for language %u instead of %u" msgstr "言語有効性検査関数%1$uが言語%3$uではなく%2$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 "戻り値型%2$sとして宣言された関数\"%1$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 +#: utils/fmgr/funcapi.c:725 #, 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 "レコードを返す関数についての行定義を特定できませんでした" @@ -28802,7 +28827,7 @@ msgstr "タイムゾーンファイル\"%s\"の行%dにファイル名がない@ msgid "Failed while creating memory context \"%s\"." msgstr "メモリコンテキスト\"%s\"の作成時に失敗しました" -#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1346 +#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1350 #, c-format msgid "could not attach to dynamic shared area" msgstr "動的共有エリアをアタッチできませんでした" diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po index 7eee8bdf962..0876bce5b8e 100644 --- a/src/backend/po/ru.po +++ b/src/backend/po/ru.po @@ -10,8 +10,8 @@ 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 16:29+0300\n" -"PO-Revision-Date: 2024-05-04 10:47+0300\n" +"POT-Creation-Date: 2024-08-01 12:50+0300\n" +"PO-Revision-Date: 2024-08-01 13:15+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -96,7 +96,7 @@ msgstr "не удалось открыть файл \"%s\" для чтения: #: 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/logical/snapbuild.c:2040 replication/slot.c:1980 #: replication/slot.c:2021 replication/walsender.c:643 #: 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 @@ -107,7 +107,7 @@ 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/logical/origin.c:789 replication/logical/snapbuild.c:2045 #: replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648 #: utils/cache/relmapper.c:834 #, c-format @@ -126,7 +126,7 @@ msgstr "не удалось прочитать файл \"%s\" (прочитан #: 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/logical/snapbuild.c:1807 replication/logical/snapbuild.c:1931 #: 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 @@ -167,12 +167,12 @@ msgstr "" #: 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/logical/snapbuild.c:1762 replication/logical/snapbuild.c:1872 #: 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/cache/relmapper.c:936 utils/error/elog.c:2102 #: 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 #, c-format @@ -181,7 +181,7 @@ 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 +#: access/transam/xlog.c:8766 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 @@ -196,9 +196,9 @@ msgstr "не удалось записать файл \"%s\": %m" #: 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 +#: access/transam/xlog.c:3961 access/transam/xlog.c:8156 +#: access/transam/xlog.c:8201 backup/basebackup_server.c:209 +#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1800 #: 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 @@ -219,11 +219,11 @@ msgstr "не удалось синхронизировать с ФС файл \" #: 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 +#: replication/logical/logical.c:209 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 +#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1461 +#: storage/ipc/procarray.c:2243 storage/ipc/procarray.c:2250 +#: storage/ipc/procarray.c:2749 storage/ipc/procarray.c:3385 #: 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 @@ -303,7 +303,7 @@ msgstr "попытка дублирования нулевого указате #: 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 +#: replication/logical/snapbuild.c:1658 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 @@ -327,7 +327,7 @@ 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/logical/snapbuild.c:1819 replication/slot.c:723 #: replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792 #: utils/time/snapmgr.c:1284 #, c-format @@ -522,7 +522,7 @@ msgstr "не удалось получить код выхода от подпр #: 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/logical/snapbuild.c:1700 replication/logical/snapbuild.c:2134 #: 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 @@ -746,7 +746,7 @@ 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 +#: parser/parse_utilcmd.c:2287 #, c-format msgid "index \"%s\" is not valid" msgstr "индекс \"%s\" - нерабочий" @@ -907,7 +907,7 @@ 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:968 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "строка индекса требует байт: %zu, при максимуме: %zu" @@ -1011,8 +1011,8 @@ msgstr "метод сжатия lz4 не поддерживается" 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 +#: access/common/tupdesc.c:837 commands/tablecmds.c:7002 +#: commands/tablecmds.c:13073 #, c-format msgid "too many array dimensions" msgstr "слишком много размерностей массива" @@ -1065,7 +1065,7 @@ 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/arrayfuncs.c:4052 utils/adt/arrayfuncs.c:6739 #: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" @@ -1168,21 +1168,21 @@ 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:279 access/hash/hashfunc.c:335 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 #, 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 +#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:336 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 +#: commands/indexcmds.c:2015 commands/tablecmds.c:17573 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 +#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1067 utils/adt/varlena.c:1518 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Задайте правило сортировки явно в предложении COLLATE." @@ -1193,7 +1193,7 @@ 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/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1029 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Значения, не умещающиеся в страницу буфера, нельзя проиндексировать." @@ -1292,7 +1292,7 @@ msgstr "не удалось записать в файл \"%s\" (записан #: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 #: 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/xlog.c:3940 access/transam/xlog.c:8755 #: 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 @@ -1313,7 +1313,7 @@ msgstr "не удалось обрезать файл \"%s\" до нужного #: access/transam/xlog.c:3952 commands/dbcommands.c:507 #: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 #: replication/logical/origin.c:615 replication/logical/origin.c:657 -#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1767 +#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1776 #: 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 @@ -1462,18 +1462,18 @@ msgstr "" "индекс \"%s\": всего страниц: %u, сейчас удалено: %u, удалено на данный " "момент: %u, свободно: %u\n" -#: access/heap/vacuumlazy.c:745 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:745 commands/analyze.c:801 #, 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:755 commands/analyze.c:804 #, 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:758 commands/analyze.c:806 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "" @@ -1486,19 +1486,19 @@ 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:767 commands/analyze.c:810 #, c-format msgid "system usage: %s" msgstr "нагрузка системы: %s" -#: access/heap/vacuumlazy.c:2476 +#: access/heap/vacuumlazy.c:2477 #, 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:2637 #, c-format msgid "" "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after " @@ -1507,12 +1507,12 @@ msgstr "" "несущественная операция обслуживания таблицы \"%s.%s.%s\" пропускается в " "качестве меры защиты после %d сканирований индекса" -#: access/heap/vacuumlazy.c:2639 +#: access/heap/vacuumlazy.c:2640 #, 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:2641 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or " @@ -1525,23 +1525,23 @@ msgstr "" "Также можно рассмотреть другие способы обеспечения производительности " "VACUUM, соответствующей скорости выделения идентификаторов транзакций." -#: access/heap/vacuumlazy.c:2885 +#: access/heap/vacuumlazy.c:2886 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": остановка усечения из-за конфликтующего запроса блокировки" -#: access/heap/vacuumlazy.c:2955 +#: access/heap/vacuumlazy.c:2956 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "таблица \"%s\": усечение (было страниц: %u, стало: %u)" -#: access/heap/vacuumlazy.c:3017 +#: access/heap/vacuumlazy.c:3018 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "" "таблица \"%s\": приостановка усечения из-за конфликтующего запроса блокировки" -#: access/heap/vacuumlazy.c:3177 +#: access/heap/vacuumlazy.c:3178 #, c-format msgid "" "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary " @@ -1550,47 +1550,47 @@ msgstr "" "отключение параллельного режима очистки \"%s\" --- создавать временные " "таблицы в параллельном режиме нельзя" -#: access/heap/vacuumlazy.c:3393 +#: access/heap/vacuumlazy.c:3394 #, 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:3397 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "при сканировании блока %u отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3400 +#: access/heap/vacuumlazy.c:3401 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "при сканировании отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3408 +#: access/heap/vacuumlazy.c:3409 #, 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:3412 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "при очистке блока %u отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3415 +#: access/heap/vacuumlazy.c:3416 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "при очистке отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3420 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3421 commands/vacuumparallel.c:1074 #, 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:3426 commands/vacuumparallel.c:1080 #, 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:3432 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "при усечении отношения \"%s.%s\" до %u блок." @@ -1617,7 +1617,7 @@ 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 +#: commands/tablecmds.c:17268 commands/tablecmds.c:19055 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" - это не индекс" @@ -1643,7 +1643,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:2333 #, c-format msgid "index \"%s\" is not a btree" msgstr "индекс \"%s\" не является b-деревом" @@ -1713,7 +1713,7 @@ msgstr "" "метод сжатия должен быть определён, когда тип листьев отличается от входного " "типа" -#: access/spgist/spgutils.c:1015 +#: access/spgist/spgutils.c:1026 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)" @@ -1951,7 +1951,7 @@ msgstr "" msgid "MultiXact member wraparound protections are now enabled" msgstr "Защита от зацикливания мультитранзакций сейчас включена" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3034 #, c-format msgid "" "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" @@ -1959,7 +1959,7 @@ msgstr "" "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, " "усечение пропускается" -#: access/transam/multixact.c:3045 +#: access/transam/multixact.c:3052 #, c-format msgid "" "cannot truncate up to MultiXact %u because it does not exist on disk, " @@ -1968,7 +1968,7 @@ msgstr "" "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на " "диске, усечение пропускается" -#: access/transam/multixact.c:3359 +#: access/transam/multixact.c:3366 #, c-format msgid "invalid MultiXactId: %u" msgstr "неверный MultiXactId: %u" @@ -2194,12 +2194,12 @@ msgstr "Установите ненулевое значение парамет msgid "transaction identifier \"%s\" is already in use" msgstr "идентификатор транзакции \"%s\" уже используется" -#: access/transam/twophase.c:422 access/transam/twophase.c:2517 +#: access/transam/twophase.c:422 access/transam/twophase.c:2516 #, c-format msgid "maximum number of prepared transactions reached" msgstr "достигнут предел числа подготовленных транзакций" -#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#: access/transam/twophase.c:423 access/transam/twophase.c:2517 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)." @@ -2281,7 +2281,7 @@ msgstr "" "в файле \"%s\"" #: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 -#: replication/logical/logical.c:209 replication/walsender.c:687 +#: replication/logical/logical.c:210 replication/walsender.c:687 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Не удалось разместить обработчик журнала транзакций." @@ -2321,47 +2321,47 @@ msgstr[1] "" msgstr[2] "" "для длительных подготовленных транзакций записано файлов состояния 2PC: %u" -#: access/transam/twophase.c:2093 +#: access/transam/twophase.c:2092 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "восстановление подготовленной транзакции %u из разделяемой памяти" -#: access/transam/twophase.c:2186 +#: access/transam/twophase.c:2185 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "удаление устаревшего файла состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2193 +#: access/transam/twophase.c:2192 #, 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:2205 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "удаление файла будущего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2213 +#: access/transam/twophase.c:2212 #, 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:2237 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "испорчен файл состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2243 +#: access/transam/twophase.c:2242 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "испорчено состояние 2PC в памяти для транзакции %u" -#: access/transam/twophase.c:2500 +#: access/transam/twophase.c:2499 #, 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:2501 #, c-format msgid "" "Two-phase state file has been found in WAL record %X/%X, but this " @@ -2370,7 +2370,7 @@ msgstr "" "Для WAL-записи %X/%X найден файл состояния двухфазной фиксации, но эта " "транзакция уже была восстановлена с диска." -#: access/transam/twophase.c:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2509 jit/jit.c:205 utils/fmgr/dfmgr.c:209 #: utils/fmgr/dfmgr.c:415 #, c-format msgid "could not access file \"%s\": %m" @@ -2777,13 +2777,13 @@ msgstr "\"max_wal_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 +#: utils/error/elog.c:2225 #, 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 +#: utils/error/elog.c:2251 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "нераспознанное ключевое слово: \"%s\"." @@ -2882,12 +2882,12 @@ msgstr "работа системы БД была прервана; послед msgid "control file contains invalid database cluster state" msgstr "файл pg_control содержит неверный код состояния кластера" -#: access/transam/xlog.c:5502 +#: access/transam/xlog.c:5503 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL закончился без признака окончания копирования" -#: access/transam/xlog.c:5503 +#: access/transam/xlog.c:5504 #, c-format msgid "" "All WAL generated while online backup was taken must be available at " @@ -2896,40 +2896,40 @@ msgstr "" "Все журналы WAL, созданные во время резервного копирования \"на ходу\", " "должны быть в наличии для восстановления." -#: access/transam/xlog.c:5506 +#: access/transam/xlog.c:5507 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL закончился до согласованной точки восстановления" -#: access/transam/xlog.c:5552 +#: access/transam/xlog.c:5553 #, c-format msgid "selected new timeline ID: %u" msgstr "выбранный ID новой линии времени: %u" -#: access/transam/xlog.c:5585 +#: access/transam/xlog.c:5586 #, c-format msgid "archive recovery complete" msgstr "восстановление архива завершено" -#: access/transam/xlog.c:6191 +#: access/transam/xlog.c:6192 #, c-format msgid "shutting down" msgstr "выключение" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6230 +#: access/transam/xlog.c:6231 #, 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:6243 #, 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:6308 #, c-format msgid "" "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d " @@ -2944,7 +2944,7 @@ msgstr "" "lsn=%X/%X, lsn redo=%X/%X" # well-spelled: синхр -#: access/transam/xlog.c:6330 +#: access/transam/xlog.c:6331 #, c-format msgid "" "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d " @@ -2958,7 +2958,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:6776 #, c-format msgid "" "concurrent write-ahead log activity while database system is shutting down" @@ -2966,75 +2966,75 @@ msgstr "" "во время выключения системы баз данных отмечена активность в журнале " "предзаписи" -#: access/transam/xlog.c:7329 +#: access/transam/xlog.c:7337 #, c-format msgid "recovery restart point at %X/%X" msgstr "точка перезапуска восстановления в позиции %X/%X" -#: access/transam/xlog.c:7331 +#: access/transam/xlog.c:7339 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Последняя завершённая транзакция была выполнена в %s." -#: access/transam/xlog.c:7579 +#: access/transam/xlog.c:7587 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "точка восстановления \"%s\" создана в позиции %X/%X" -#: access/transam/xlog.c:7786 +#: access/transam/xlog.c:7794 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "" "резервное копирование \"на ходу\" было отменено, продолжить восстановление " "нельзя" -#: access/transam/xlog.c:7843 +#: access/transam/xlog.c:7852 #, 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:7910 #, 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:7939 #, 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:8206 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл сквозной записи %s: %m" -#: access/transam/xlog.c:8202 +#: access/transam/xlog.c:8211 #, 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:8296 access/transam/xlog.c:8619 #, 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/xlog.c:8297 access/transam/xlog.c:8620 #: access/transam/xlogfuncs.c:254 #, c-format 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:8302 #, c-format msgid "backup label too long (max %d bytes)" msgstr "длина метки резервной копии превышает предел (%d байт)" -#: access/transam/xlog.c:8414 +#: access/transam/xlog.c:8423 #, c-format msgid "" "WAL generated with full_page_writes=off was replayed since last restartpoint" @@ -3042,7 +3042,7 @@ msgstr "" "После последней точки перезапуска был воспроизведён WAL, созданный в режиме " "full_page_writes=off." -#: access/transam/xlog.c:8416 access/transam/xlog.c:8699 +#: access/transam/xlog.c:8425 access/transam/xlog.c:8708 #, c-format msgid "" "This means that the backup being taken on the standby is corrupt and should " @@ -3054,23 +3054,23 @@ msgstr "" "CHECKPOINT на ведущем сервере, а затем попробуйте резервное копирование \"на " "ходу\" ещё раз." -#: access/transam/xlog.c:8483 backup/basebackup.c:1355 utils/adt/misc.c:354 +#: access/transam/xlog.c:8492 backup/basebackup.c:1355 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:8499 backup/basebackup.c:1360 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:8658 backup/basebackup.c:1221 #, c-format msgid "the standby was promoted during online backup" msgstr "" "дежурный сервер был повышен в процессе резервного копирования \"на ходу\"" -#: access/transam/xlog.c:8650 backup/basebackup.c:1222 +#: access/transam/xlog.c:8659 backup/basebackup.c:1222 #, c-format msgid "" "This means that the backup being taken is corrupt and should not be used. " @@ -3079,7 +3079,7 @@ msgstr "" "Это означает, что создаваемая резервная копия испорчена и использовать её не " "следует. Попробуйте резервное копирование \"на ходу\" ещё раз." -#: access/transam/xlog.c:8697 +#: access/transam/xlog.c:8706 #, c-format msgid "" "WAL generated with full_page_writes=off was replayed during online backup" @@ -3087,13 +3087,13 @@ msgstr "" "В процессе резервного копирования \"на ходу\" был воспроизведён WAL, " "созданный в режиме full_page_writes=off" -#: access/transam/xlog.c:8813 +#: access/transam/xlog.c:8822 #, 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:8836 #, c-format msgid "" "still waiting for all required WAL segments to be archived (%d seconds " @@ -3101,7 +3101,7 @@ msgid "" msgstr "" "продолжается ожидание архивации всех нужных сегментов WAL (прошло %d сек.)" -#: access/transam/xlog.c:8829 +#: access/transam/xlog.c:8838 #, c-format msgid "" "Check that your archive_command is executing properly. You can safely " @@ -3112,12 +3112,12 @@ msgstr "" "копирования можно отменить безопасно, но резервная копия базы будет " "непригодна без всех сегментов WAL." -#: access/transam/xlog.c:8836 +#: access/transam/xlog.c:8845 #, c-format msgid "all required WAL segments have been archived" msgstr "все нужные сегменты WAL заархивированы" -#: access/transam/xlog.c:8840 +#: access/transam/xlog.c:8849 #, c-format msgid "" "WAL archiving is not enabled; you must ensure that all required WAL segments " @@ -3126,7 +3126,7 @@ msgstr "" "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых " "сегментов WAL другими средствами для получения резервной копии" -#: access/transam/xlog.c:8879 +#: access/transam/xlog.c:8888 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "" @@ -4520,21 +4520,21 @@ msgstr "нет полномочий для изменения прав дост 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/aclchk.c:1595 catalog/catalog.c:652 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 +#: commands/sequence.c:1670 commands/tablecmds.c:7388 commands/tablecmds.c:7544 +#: commands/tablecmds.c:7594 commands/tablecmds.c:7668 +#: commands/tablecmds.c:7738 commands/tablecmds.c:7854 +#: commands/tablecmds.c:7948 commands/tablecmds.c:8007 +#: commands/tablecmds.c:8096 commands/tablecmds.c:8126 +#: commands/tablecmds.c:8254 commands/tablecmds.c:8336 +#: commands/tablecmds.c:8470 commands/tablecmds.c:8582 +#: commands/tablecmds.c:12307 commands/tablecmds.c:12488 +#: commands/tablecmds.c:12649 commands/tablecmds.c:13844 +#: commands/tablecmds.c:16375 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 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3415 +#: parser/parse_utilcmd.c:3451 parser/parse_utilcmd.c:3493 utils/adt/acl.c:2876 #: utils/adt/ruleutils.c:2797 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" @@ -4545,13 +4545,13 @@ msgstr "столбец \"%s\" в таблице \"%s\" не существует msgid "\"%s\" is an index" msgstr "\"%s\" - это индекс" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13955 commands/tablecmds.c:17231 +#: catalog/aclchk.c:1847 commands/tablecmds.c:14001 commands/tablecmds.c:17277 #, 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 +#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1178 +#: commands/tablecmds.c:254 commands/tablecmds.c:17241 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 #, c-format @@ -4739,9 +4739,9 @@ msgstr "нет доступа к подпрограмме %s" 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:2759 commands/sequence.c:666 commands/sequence.c:892 +#: commands/sequence.c:934 commands/sequence.c:975 commands/sequence.c:1768 +#: commands/sequence.c:1814 #, c-format msgid "permission denied for sequence %s" msgstr "нет доступа к последовательности %s" @@ -4982,12 +4982,12 @@ msgstr "схема с OID %u не существует" msgid "type with OID %u does not exist" msgstr "тип с OID %u не существует" -#: catalog/catalog.c:449 +#: catalog/catalog.c:470 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "продолжается поиск неиспользованного OID в отношении \"%s\"" -#: catalog/catalog.c:451 +#: catalog/catalog.c:472 #, c-format msgid "" "OID candidates have been checked %llu time, but no unused OID has been found " @@ -5005,7 +5005,7 @@ msgstr[2] "" "Потенциальные OID были проверены %llu раз, но неиспользуемые OID ещё не были " "найдены." -#: catalog/catalog.c:476 +#: catalog/catalog.c:497 #, 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,27 +5013,27 @@ 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:630 catalog/catalog.c:697 #, c-format msgid "must be superuser to call %s()" msgstr "вызывать %s() может только суперпользователь" -#: catalog/catalog.c:618 +#: catalog/catalog.c:639 #, 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:644 parser/parse_utilcmd.c:2280 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "индекс \"%s\" не принадлежит таблице \"%s\"" -#: catalog/catalog.c:640 +#: catalog/catalog.c:661 #, c-format msgid "column \"%s\" is not of type oid" msgstr "столбец \"%s\" имеет тип не oid" -#: catalog/catalog.c:647 +#: catalog/catalog.c:668 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "индекс \"%s\" не является индексом столбца \"%s\"" @@ -5087,8 +5087,8 @@ 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 +#: catalog/dependency.c:1227 commands/tablecmds.c:1332 +#: commands/tablecmds.c:14488 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 @@ -5118,12 +5118,12 @@ msgstr[0] "удаление распространяется на ещё %d об msgstr[1] "удаление распространяется на ещё %d объекта" msgstr[2] "удаление распространяется на ещё %d объектов" -#: catalog/dependency.c:1906 +#: catalog/dependency.c:1908 #, c-format msgid "constant of the type %s cannot be used here" msgstr "константу типа %s здесь использовать нельзя" -#: catalog/dependency.c:2431 parser/parse_relation.c:3413 +#: catalog/dependency.c:2433 parser/parse_relation.c:3413 #: parser/parse_relation.c:3423 #, c-format msgid "column %d of relation \"%s\" does not exist" @@ -5139,13 +5139,13 @@ msgstr "нет прав для создания отношения \"%s.%s\"" 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:466 commands/tablecmds.c:2371 commands/tablecmds.c:3044 +#: commands/tablecmds.c:6971 #, c-format msgid "tables can have at most %d columns" msgstr "максимальное число столбцов в таблице: %d" -#: catalog/heap.c:484 commands/tablecmds.c:7232 +#: catalog/heap.c:484 commands/tablecmds.c:7278 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "имя столбца \"%s\" конфликтует с системным столбцом" @@ -5188,7 +5188,7 @@ msgstr "" "сортировки" #: catalog/heap.c:1151 catalog/index.c:887 commands/createas.c:408 -#: commands/tablecmds.c:3983 +#: commands/tablecmds.c:3996 #, c-format msgid "relation \"%s\" already exists" msgstr "отношение \"%s\" уже существует" @@ -5226,38 +5226,38 @@ msgstr "значение OID кучи в pg_class не задано в режи msgid "relfilenumber value not set when in binary upgrade mode" msgstr "значение relfilenumber не задано в режиме двоичного обновления" -#: catalog/heap.c:2122 +#: catalog/heap.c:2129 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "" "добавить ограничение NO INHERIT к секционированной таблице \"%s\" нельзя" -#: catalog/heap.c:2397 +#: catalog/heap.c:2404 #, 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:901 catalog/pg_constraint.c:682 +#: commands/tablecmds.c:8957 #, 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 +5265,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:811 commands/tablecmds.c:2669 +#: commands/tablecmds.c:3196 commands/tablecmds.c:6903 +#: commands/tablecmds.c:15310 commands/tablecmds.c:15451 #, 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:1297 #, 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 +#: catalog/heap.c:2814 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 #, 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,23 +5337,23 @@ 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:225 parser/parse_utilcmd.c:2186 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "таблица \"%s\" не может иметь несколько первичных ключей" @@ -5373,7 +5373,7 @@ msgstr "первичные ключи не могут быть выражени 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:786 catalog/index.c:1943 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "" @@ -5393,7 +5393,7 @@ msgstr "" "параллельное создание индекса в таблицах системного каталога не " "поддерживается" -#: catalog/index.c:850 catalog/index.c:1318 +#: catalog/index.c:850 catalog/index.c:1319 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "" @@ -5422,33 +5422,33 @@ msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "" "значение relfilenumber для индекса не задано в режиме двоичного обновления" -#: catalog/index.c:2241 +#: catalog/index.c:2242 #, c-format msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции" -#: catalog/index.c:3675 +#: catalog/index.c:3676 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "переиндексировать временные таблицы других сеансов нельзя" -#: catalog/index.c:3686 commands/indexcmds.c:3607 +#: catalog/index.c:3687 commands/indexcmds.c:3607 #, 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:3703 commands/indexcmds.c:3487 commands/indexcmds.c:3631 +#: commands/tablecmds.c:3411 #, c-format msgid "cannot move system relation \"%s\"" msgstr "переместить системную таблицу \"%s\" нельзя" -#: catalog/index.c:3846 +#: catalog/index.c:3847 #, c-format msgid "index \"%s\" was reindexed" msgstr "индекс \"%s\" был перестроен" -#: catalog/index.c:3983 +#: catalog/index.c:3984 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "" @@ -5456,7 +5456,7 @@ msgstr "" "пропускается" #: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 -#: commands/trigger.c:5736 +#: commands/trigger.c:5738 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "ссылки между базами не реализованы: \"%s.%s.%s\"" @@ -5556,7 +5556,7 @@ 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 +#: commands/tablecmds.c:1277 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "схема \"%s\" не существует" @@ -5592,26 +5592,26 @@ 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 +#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2203 +#: commands/tablecmds.c:12424 #, 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 +#: commands/tablecmds.c:17246 commands/view.c:119 #, 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 +#: commands/tablecmds.c:17251 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" - это не материализованное представление" #: catalog/objectaddress.c:1430 commands/tablecmds.c:284 -#: commands/tablecmds.c:17210 +#: commands/tablecmds.c:17256 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" - это не сторонняя таблица" @@ -5632,7 +5632,7 @@ msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "" "значение по умолчанию для столбца \"%s\" отношения \"%s\" не существует" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 +#: catalog/objectaddress.c:1656 commands/functioncmds.c:138 #: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 #: utils/adt/acl.c:4441 @@ -5732,7 +5732,7 @@ msgstr "длина списка аргументов должна быть ра msgid "must be owner of large object %u" msgstr "нужно быть владельцем большого объекта %u" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2523 commands/functioncmds.c:1562 #, c-format msgid "must be owner of type %s or type %s" msgstr "это разрешено только владельцу типа %s или %s" @@ -6223,7 +6223,7 @@ msgstr "\"%s\" — гипотезирующая агрегатная функц msgid "cannot change number of direct arguments of an aggregate function" msgstr "изменить число непосредственных аргументов агрегатной функции нельзя" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:692 #: 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 @@ -6433,8 +6433,8 @@ msgstr "" "Эта секция отсоединяется параллельно или для неё не была завершена операция " "отсоединения." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4579 -#: commands/tablecmds.c:15520 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4623 +#: commands/tablecmds.c:15566 #, c-format msgid "" "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending " @@ -6625,7 +6625,7 @@ msgstr "SQL-функции не могут возвращать тип %s" 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:988 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-функция \"%s\"" @@ -6934,7 +6934,7 @@ msgid "" "must specify both or neither of serialization and deserialization functions" msgstr "функции сериализации и десериализации должны задаваться совместно" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:438 commands/functioncmds.c:640 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "" @@ -7095,12 +7095,12 @@ msgstr "анализируется \"%s.%s\"" msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "столбец \"%s\" отношения \"%s\" указан неоднократно" -#: commands/analyze.c:787 +#: commands/analyze.c:792 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "автоматический анализ таблицы \"%s.%s.%s\"\n" -#: commands/analyze.c:1334 +#: commands/analyze.c:1339 #, c-format msgid "" "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead " @@ -7110,7 +7110,7 @@ msgstr "" "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число " "строк: %.0f" -#: commands/analyze.c:1418 +#: commands/analyze.c:1423 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -7119,7 +7119,7 @@ msgstr "" "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит дочерних таблиц" -#: commands/analyze.c:1516 +#: commands/analyze.c:1521 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -7193,7 +7193,7 @@ msgstr "кластеризовать временные таблицы друг 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:192 commands/tablecmds.c:14302 commands/tablecmds.c:16145 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "индекс \"%s\" для таблицы \"%s\" не существует" @@ -7208,7 +7208,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:16155 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не является индексом таблицы \"%s\"" @@ -7275,7 +7275,7 @@ 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 +#: commands/define.c:389 commands/tablecmds.c:7929 #: 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 @@ -7351,9 +7351,9 @@ 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/tablecmds.c:7754 commands/tablecmds.c:7764 +#: commands/tablecmds.c:14004 commands/tablecmds.c:17279 +#: commands/tablecmds.c:17300 commands/typecmds.c:3637 commands/typecmds.c:3720 #: commands/typecmds.c:4013 #, c-format msgid "Use %s instead." @@ -7692,8 +7692,8 @@ 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 +#: commands/tablecmds.c:2402 commands/tablecmds.c:3124 +#: commands/tablecmds.c:3635 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 @@ -7701,7 +7701,7 @@ msgstr "Генерируемые столбцы нельзя использов msgid "column \"%s\" does not exist" msgstr "столбец \"%s\" не существует" -#: commands/copy.c:849 commands/tablecmds.c:2427 commands/trigger.c:958 +#: commands/copy.c:849 commands/tablecmds.c:2428 commands/trigger.c:958 #: parser/parse_target.c:1084 parser/parse_target.c:1095 #, c-format msgid "column \"%s\" specified more than once" @@ -8544,7 +8544,7 @@ msgstr[0] "Эта база данных используется ещё в %d с msgstr[1] "Эта база данных используется ещё в %d сеансах." msgstr[2] "Эта база данных используется ещё в %d сеансах." -#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3797 +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3809 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -8600,7 +8600,7 @@ msgstr "аргументом %s должно быть имя типа" msgid "invalid argument for %s: \"%s\"" msgstr "неверный аргумент для %s: \"%s\"" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 +#: commands/dropcmds.c:101 commands/functioncmds.c:1388 #: utils/adt/ruleutils.c:2895 #, c-format msgid "\"%s\" is an aggregate function" @@ -8611,14 +8611,14 @@ msgstr "функция \"%s\" является агрегатной" 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:158 commands/sequence.c:474 commands/tablecmds.c:3719 +#: commands/tablecmds.c:3877 commands/tablecmds.c:3929 +#: commands/tablecmds.c:16570 tcop/utility.c:1336 #, 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:188 commands/dropcmds.c:287 commands/tablecmds.c:1282 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "схема \"%s\" не существует, пропускается" @@ -9299,151 +9299,151 @@ msgstr "обёртка сторонних данных \"%s\" не поддер msgid "importing foreign table \"%s\"" msgstr "импорт сторонней таблицы \"%s\"" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:110 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL-функция не может возвращать тип-пустышку %s" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:115 #, c-format msgid "return type %s is only a shell" msgstr "возвращаемый тип %s - лишь пустышка" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:144 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:150 #, c-format msgid "type \"%s\" is not yet defined" msgstr "тип \"%s\" ещё не определён" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:151 #, c-format msgid "Creating a shell type definition." msgstr "Создание определения типа-пустышки." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:250 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-функция не может принимать значение типа-пустышки %s" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:256 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "агрегатная функция не может принимать значение типа-пустышки %s" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:261 #, c-format msgid "argument type %s is only a shell" msgstr "тип аргумента %s - лишь пустышка" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:271 #, c-format msgid "type %s does not exist" msgstr "тип %s не существует" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:285 #, c-format msgid "aggregates cannot accept set arguments" msgstr "агрегатные функции не принимают в аргументах множества" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:289 #, c-format msgid "procedures cannot accept set arguments" msgstr "процедуры не принимают в аргументах множества" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:293 #, c-format msgid "functions cannot accept set arguments" msgstr "функции не принимают аргументы-множества" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:303 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "параметр VARIADIC должен быть последним в списке входных параметров" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:323 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "параметр VARIADIC должен быть последним в списке параметров" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:348 #, c-format msgid "VARIADIC parameter must be an array" msgstr "параметр VARIADIC должен быть массивом" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:393 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "имя параметра \"%s\" указано неоднократно" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:411 #, c-format msgid "only input parameters can have default values" msgstr "значения по умолчанию могут быть только у входных параметров" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:426 #, c-format msgid "cannot use table references in parameter default value" msgstr "в значениях параметров по умолчанию нельзя ссылаться на таблицы" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:450 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "" "входные параметры, следующие за параметром со значением по умолчанию, также " "должны иметь значения по умолчанию" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:460 #, 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:602 commands/functioncmds.c:781 #, c-format msgid "invalid attribute in procedure definition" msgstr "некорректный атрибут в определении процедуры" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:698 #, c-format msgid "support function %s must return type %s" msgstr "вспомогательная функция %s должна возвращать тип %s" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:709 #, c-format msgid "must be superuser to specify a support function" msgstr "для указания вспомогательной функции нужно быть суперпользователем" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:830 commands/functioncmds.c:1433 #, c-format msgid "COST must be positive" msgstr "значение COST должно быть положительным" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:838 commands/functioncmds.c:1441 #, c-format msgid "ROWS must be positive" msgstr "значение ROWS должно быть положительным" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:867 #, c-format msgid "no function body specified" msgstr "не указано тело функции" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:872 #, c-format msgid "duplicate function body specified" msgstr "тело функции задано неоднократно" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:877 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "встроенное тело функции SQL допускается только для языка SQL" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:919 #, c-format msgid "" "SQL function with unquoted function body cannot have polymorphic arguments" @@ -9451,84 +9451,84 @@ msgstr "" "у SQL-функции с телом, задаваемым не в кавычках, не может быть полиморфных " "аргументов" -#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#: commands/functioncmds.c:945 commands/functioncmds.c:964 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "" "%s на данный момент не поддерживается в теле SQL-функции, задаваемом не в " "кавычках" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:992 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "для языка \"%s\" нужно только одно выражение AS" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1097 #, c-format msgid "no language specified" msgstr "язык не указан" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 +#: commands/functioncmds.c:1105 commands/functioncmds.c:2106 #: commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "язык \"%s\" не существует" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1107 commands/functioncmds.c:2108 #, 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:1140 commands/functioncmds.c:1425 #, c-format msgid "only superuser can define a leakproof function" msgstr "" "только суперпользователь может определить функцию с атрибутом LEAKPROOF" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1191 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "" "результат функции должен иметь тип %s (в соответствии с параметрами OUT)" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1204 #, c-format msgid "function result type must be specified" msgstr "необходимо указать тип результата функции" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1257 commands/functioncmds.c:1445 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "указание ROWS неприменимо, когда функция возвращает не множество" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1548 #, c-format msgid "source data type %s is a pseudo-type" msgstr "исходный тип данных %s является псевдотипом" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1554 #, c-format msgid "target data type %s is a pseudo-type" msgstr "целевой тип данных %s является псевдотипом" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1578 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "" "приведение будет проигнорировано, так как исходные данные имеют тип домен" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1583 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "" "приведение будет проигнорировано, так как целевые данные имеют тип домен" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1608 #, c-format msgid "cast function must take one to three arguments" msgstr "функция приведения должна принимать от одного до трёх аргументов" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1614 #, c-format msgid "" "argument of cast function must match or be binary-coercible from source data " @@ -9537,17 +9537,17 @@ msgstr "" "аргумент функции приведения должен совпадать или быть двоично-совместимым с " "исходным типом данных" -#: commands/functioncmds.c:1617 +#: commands/functioncmds.c:1618 #, c-format msgid "second argument of cast function must be type %s" msgstr "второй аргумент функции приведения должен иметь тип %s" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1623 #, c-format msgid "third argument of cast function must be type %s" msgstr "третий аргумент функции приведения должен иметь тип %s" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1630 #, c-format msgid "" "return data type of cast function must match or be binary-coercible to " @@ -9556,127 +9556,127 @@ msgstr "" "тип возвращаемых данных функции приведения должен совпадать или быть двоично-" "совместимым с целевым типом данных" -#: commands/functioncmds.c:1640 +#: commands/functioncmds.c:1641 #, c-format msgid "cast function must not be volatile" msgstr "функция приведения не может быть изменчивой (volatile)" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1646 #, c-format msgid "cast function must be a normal function" msgstr "функция приведения должна быть обычной функцией" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1650 #, c-format msgid "cast function must not return a set" msgstr "функция приведения не может возвращать множество" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1676 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "для создания приведения WITHOUT FUNCTION нужно быть суперпользователем" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1691 #, c-format msgid "source and target data types are not physically compatible" msgstr "исходный и целевой типы данных несовместимы физически" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1706 #, c-format msgid "composite data types are not binary-compatible" msgstr "составные типы данных несовместимы на двоичном уровне" -#: commands/functioncmds.c:1711 +#: commands/functioncmds.c:1712 #, c-format msgid "enum data types are not binary-compatible" msgstr "типы-перечисления несовместимы на двоичном уровне" -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1718 #, c-format msgid "array data types are not binary-compatible" msgstr "типы-массивы несовместимы на двоичном уровне" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1735 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "типы-домены не могут считаться двоично-совместимыми" -#: commands/functioncmds.c:1744 +#: commands/functioncmds.c:1745 #, c-format msgid "source data type and target data type are the same" msgstr "исходный тип данных совпадает с целевым" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1778 #, c-format msgid "transform function must not be volatile" msgstr "функция преобразования не может быть изменчивой" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1782 #, c-format msgid "transform function must be a normal function" msgstr "функция преобразования должна быть обычной функцией" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1786 #, c-format msgid "transform function must not return a set" msgstr "функция преобразования не может возвращать множество" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1790 #, c-format msgid "transform function must take one argument" msgstr "функция преобразования должна принимать один аргумент" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1794 #, c-format msgid "first argument of transform function must be type %s" msgstr "первый аргумент функции преобразования должен иметь тип %s" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1833 #, c-format msgid "data type %s is a pseudo-type" msgstr "тип данных %s является псевдотипом" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1839 #, c-format msgid "data type %s is a domain" msgstr "тип данных \"%s\" является доменом" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1879 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "результат функции FROM SQL должен иметь тип %s" -#: commands/functioncmds.c:1904 +#: commands/functioncmds.c:1905 #, 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:1932 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "преобразование для типа %s, языка \"%s\" уже существует" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2018 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "преобразование для типа %s, языка \"%s\" не существует" -#: commands/functioncmds.c:2041 +#: commands/functioncmds.c:2042 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "функция %s уже существует в схеме \"%s\"" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2093 #, c-format msgid "no inline code specified" msgstr "нет внедрённого кода" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2139 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "язык \"%s\" не поддерживает выполнение внедрённого кода" -#: commands/functioncmds.c:2233 +#: commands/functioncmds.c:2234 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -9716,14 +9716,14 @@ msgstr "" 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:766 commands/tablecmds.c:785 commands/tablespace.c:1184 #, 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:798 commands/tablecmds.c:816 commands/tablecmds.c:3418 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "" @@ -9811,13 +9811,13 @@ msgstr "Таблица \"%s\" содержит секции, являющиес 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:1881 parser/parse_utilcmd.c:2529 +#: parser/parse_utilcmd.c:2664 #, 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:1905 parser/parse_utilcmd.c:1817 #, c-format msgid "expressions are not supported in included columns" msgstr "выражения во включаемых столбцах не поддерживаются" @@ -9852,8 +9852,8 @@ msgstr "включаемые столбцы не поддерживают ука 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 +#: commands/indexcmds.c:2022 commands/tablecmds.c:17580 commands/typecmds.c:807 +#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3773 #: utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" @@ -9895,8 +9895,8 @@ msgstr "метод доступа \"%s\" не поддерживает сорт 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:2204 commands/tablecmds.c:17605 +#: commands/tablecmds.c:17611 commands/typecmds.c:2301 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "" @@ -10360,10 +10360,10 @@ 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/tablecmds.c:1613 commands/tablecmds.c:2216 +#: commands/tablecmds.c:3529 commands/tablecmds.c:6411 +#: commands/tablecmds.c:9238 commands/tablecmds.c:17167 +#: commands/tablecmds.c:17202 commands/trigger.c:323 commands/trigger.c:1339 #: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 #: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 #, c-format @@ -10418,7 +10418,7 @@ 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:2896 utils/adt/xml.c:3066 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не существует" @@ -10741,135 +10741,135 @@ msgstr "метки безопасности не поддерживаются д msgid "cannot set security label on relation \"%s\"" msgstr "задать метку безопасности для отношения \"%s\" нельзя" -#: commands/sequence.c:754 +#: commands/sequence.c:761 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "" "функция nextval достигла максимума для последовательности \"%s\" (%lld)" -#: commands/sequence.c:773 +#: commands/sequence.c:780 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "функция nextval достигла минимума для последовательности \"%s\" (%lld)" -#: commands/sequence.c:891 +#: commands/sequence.c:898 #, 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:917 commands/sequence.c:923 #, c-format msgid "lastval is not yet defined in this session" msgstr "последнее значение (lastval) ещё не определено в этом сеансе" -#: commands/sequence.c:996 +#: commands/sequence.c:1003 #, 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:1372 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "неверное свойство последовательности SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1398 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "" "типом столбца идентификации может быть только smallint, integer или bigint" -#: commands/sequence.c:1392 +#: commands/sequence.c:1399 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "" "типом последовательности может быть только smallint, integer или bigint" -#: commands/sequence.c:1426 +#: commands/sequence.c:1433 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT не может быть нулевым" -#: commands/sequence.c:1474 +#: commands/sequence.c:1481 #, 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:1513 #, 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:1521 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld) должно быть меньше MAXVALUE (%lld)" -#: commands/sequence.c:1535 +#: commands/sequence.c:1542 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "значение START (%lld) не может быть меньше MINVALUE (%lld)" -#: commands/sequence.c:1541 +#: commands/sequence.c:1548 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "значение START (%lld) не может быть больше MAXVALUE (%lld)" -#: commands/sequence.c:1565 +#: commands/sequence.c:1572 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "значение RESTART (%lld) не может быть меньше MINVALUE (%lld)" -#: commands/sequence.c:1571 +#: commands/sequence.c:1578 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "значение RESTART (%lld) не может быть больше MAXVALUE (%lld)" -#: commands/sequence.c:1582 +#: commands/sequence.c:1589 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "значение CACHE (%lld) должно быть больше нуля" -#: commands/sequence.c:1618 +#: commands/sequence.c:1625 #, c-format msgid "invalid OWNED BY option" msgstr "неверное указание OWNED BY" # skip-rule: no-space-after-period -#: commands/sequence.c:1619 +#: commands/sequence.c:1626 #, 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:1651 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "последовательность не может принадлежать отношению \"%s\"" -#: commands/sequence.c:1652 +#: commands/sequence.c:1659 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "" "последовательность должна иметь того же владельца, что и таблица, с которой " "она связана" -#: commands/sequence.c:1656 +#: commands/sequence.c:1663 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "" "последовательность должна быть в той же схеме, что и таблица, с которой она " "связана" -#: commands/sequence.c:1678 +#: commands/sequence.c:1685 #, 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:1686 commands/tablecmds.c:13991 +#: commands/tablecmds.c:16590 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Последовательность \"%s\" связана с таблицей \"%s\"." @@ -10951,12 +10951,12 @@ msgstr "повторяющееся имя столбца в определени msgid "duplicate expression in statistics definition" msgstr "повторяющееся выражение в определении статистики" -#: commands/statscmds.c:619 commands/tablecmds.c:8187 +#: commands/statscmds.c:619 commands/tablecmds.c:8233 #, c-format msgid "statistics target %d is too low" msgstr "ориентир статистики слишком мал (%d)" -#: commands/statscmds.c:627 commands/tablecmds.c:8195 +#: commands/statscmds.c:627 commands/tablecmds.c:8241 #, c-format msgid "lowering statistics target to %d" msgstr "ориентир статистики снижается до %d" @@ -11304,8 +11304,8 @@ msgstr "" "Выполните DROP MATERIALIZED VIEW для удаления материализованного " "представления." -#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19043 -#: parser/parse_utilcmd.c:2254 +#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19098 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "index \"%s\" does not exist" msgstr "индекс \"%s\" не существует" @@ -11328,8 +11328,8 @@ msgstr "\"%s\" - это не тип" 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:282 commands/tablecmds.c:13830 +#: commands/tablecmds.c:16295 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "сторонняя таблица \"%s\" не существует" @@ -11343,24 +11343,24 @@ msgstr "сторонняя таблица \"%s\" не существует, пр msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Выполните DROP FOREIGN TABLE для удаления сторонней таблицы." -#: commands/tablecmds.c:700 +#: commands/tablecmds.c:701 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT можно использовать только для временных таблиц" -#: commands/tablecmds.c:731 +#: commands/tablecmds.c:732 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "" "в рамках операции с ограничениями по безопасности нельзя создать временную " "таблицу" -#: commands/tablecmds.c:767 commands/tablecmds.c:15094 +#: commands/tablecmds.c:768 commands/tablecmds.c:15140 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "отношение \"%s\" наследуется неоднократно" -#: commands/tablecmds.c:951 +#: commands/tablecmds.c:952 #, c-format msgid "" "specifying a table access method is not supported on a partitioned table" @@ -11368,47 +11368,47 @@ msgstr "" "указание табличного метода доступа для секционированных таблиц не " "поддерживаются" -#: commands/tablecmds.c:1044 +#: commands/tablecmds.c:1045 #, c-format msgid "\"%s\" is not partitioned" msgstr "отношение \"%s\" не является секционированным" -#: commands/tablecmds.c:1138 +#: commands/tablecmds.c:1139 #, c-format msgid "cannot partition using more than %d columns" msgstr "число столбцов в ключе секционирования не может превышать %d" -#: commands/tablecmds.c:1194 +#: commands/tablecmds.c:1195 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "создать стороннюю секцию для секционированной таблицы \"%s\" нельзя" -#: commands/tablecmds.c:1196 +#: commands/tablecmds.c:1197 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Таблица \"%s\" содержит индексы, являющиеся уникальными." -#: commands/tablecmds.c:1361 +#: commands/tablecmds.c:1362 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление нескольких объектов" -#: commands/tablecmds.c:1365 +#: commands/tablecmds.c:1366 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE" -#: commands/tablecmds.c:1469 +#: commands/tablecmds.c:1470 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "удалить секционированный индекс \"%s\" параллельным способом нельзя" -#: commands/tablecmds.c:1757 +#: commands/tablecmds.c:1758 #, c-format msgid "cannot truncate only a partitioned table" msgstr "опустошить собственно секционированную таблицу нельзя" -#: commands/tablecmds.c:1758 +#: commands/tablecmds.c:1759 #, c-format msgid "" "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions " @@ -11417,39 +11417,39 @@ msgstr "" "Не указывайте ключевое слово ONLY или выполните TRUNCATE ONLY " "непосредственно для секций." -#: commands/tablecmds.c:1831 +#: commands/tablecmds.c:1832 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "опустошение распространяется на таблицу %s" -#: commands/tablecmds.c:2195 +#: commands/tablecmds.c:2196 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "опустошить стороннюю таблицу \"%s\" нельзя" -#: commands/tablecmds.c:2252 +#: commands/tablecmds.c:2253 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "временные таблицы других сеансов нельзя опустошить" -#: commands/tablecmds.c:2484 commands/tablecmds.c:14991 +#: commands/tablecmds.c:2485 commands/tablecmds.c:15037 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "наследование от секционированной таблицы \"%s\" не допускается" -#: commands/tablecmds.c:2489 +#: commands/tablecmds.c:2490 #, 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:2498 parser/parse_utilcmd.c:2491 +#: parser/parse_utilcmd.c:2633 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "" "наследуемое отношение \"%s\" не является таблицей или сторонней таблицей" -#: commands/tablecmds.c:2509 +#: commands/tablecmds.c:2510 #, c-format msgid "" "cannot create a temporary relation as partition of permanent relation \"%s\"" @@ -11457,29 +11457,29 @@ msgstr "" "создать временное отношение в качестве секции постоянного отношения \"%s\" " "нельзя" -#: commands/tablecmds.c:2518 commands/tablecmds.c:14970 +#: commands/tablecmds.c:2519 commands/tablecmds.c:15016 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "временное отношение \"%s\" не может наследоваться" -#: commands/tablecmds.c:2528 commands/tablecmds.c:14978 +#: commands/tablecmds.c:2529 commands/tablecmds.c:15024 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "наследование от временного отношения другого сеанса невозможно" -#: commands/tablecmds.c:2581 +#: commands/tablecmds.c:2582 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "слияние нескольких наследованных определений столбца \"%s\"" -#: commands/tablecmds.c:2593 +#: commands/tablecmds.c:2594 #, 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 +#: commands/tablecmds.c:2596 commands/tablecmds.c:2625 +#: commands/tablecmds.c:2644 commands/tablecmds.c:2916 +#: commands/tablecmds.c:2952 commands/tablecmds.c:2968 #: 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 @@ -11490,41 +11490,41 @@ msgstr "конфликт типов в наследованном столбце msgid "%s versus %s" msgstr "%s и %s" -#: commands/tablecmds.c:2608 +#: commands/tablecmds.c:2609 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "конфликт правил сортировки в наследованном столбце \"%s\"" -#: commands/tablecmds.c:2610 commands/tablecmds.c:2931 -#: commands/tablecmds.c:6848 +#: commands/tablecmds.c:2611 commands/tablecmds.c:2932 +#: commands/tablecmds.c:6894 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" и \"%s\"" -#: commands/tablecmds.c:2622 +#: commands/tablecmds.c:2623 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "конфликт параметров хранения в наследованном столбце \"%s\"" -#: commands/tablecmds.c:2641 commands/tablecmds.c:2965 +#: commands/tablecmds.c:2642 commands/tablecmds.c:2966 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "в столбце \"%s\" возник конфликт методов сжатия" -#: commands/tablecmds.c:2657 +#: commands/tablecmds.c:2658 #, 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:2764 commands/tablecmds.c:2819 +#: commands/tablecmds.c:12523 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1745 +#: parser/parse_utilcmd.c:1853 #, c-format msgid "cannot convert whole-row table reference" msgstr "преобразовать ссылку на тип всей строки таблицы нельзя" -#: commands/tablecmds.c:2764 parser/parse_utilcmd.c:1308 +#: commands/tablecmds.c:2765 parser/parse_utilcmd.c:1266 #, c-format msgid "" "Generation expression for column \"%s\" contains a whole-row reference to " @@ -11533,89 +11533,89 @@ msgstr "" "Генерирующее выражение столбца \"%s\" ссылается на тип всей строки в таблице " "\"%s\"." -#: commands/tablecmds.c:2819 parser/parse_utilcmd.c:1351 +#: commands/tablecmds.c:2820 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 +#: commands/tablecmds.c:2898 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "слияние столбца \"%s\" с наследованным определением" -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:2902 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением" -#: commands/tablecmds.c:2902 +#: commands/tablecmds.c:2903 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "" "Определённый пользователем столбец перемещён в позицию наследуемого столбца." -#: commands/tablecmds.c:2913 +#: commands/tablecmds.c:2914 #, c-format msgid "column \"%s\" has a type conflict" msgstr "конфликт типов в столбце \"%s\"" -#: commands/tablecmds.c:2929 +#: commands/tablecmds.c:2930 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "конфликт правил сортировки в столбце \"%s\"" -#: commands/tablecmds.c:2949 +#: commands/tablecmds.c:2950 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "конфликт параметров хранения в столбце \"%s\"" -#: commands/tablecmds.c:2995 commands/tablecmds.c:3082 +#: commands/tablecmds.c:2996 commands/tablecmds.c:3083 #, 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:3001 commands/tablecmds.c:3088 #, 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:3009 commands/tablecmds.c:3096 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "для дочернего столбца \"%s\" указано генерирующее выражение" -#: commands/tablecmds.c:3010 commands/tablecmds.c:3097 +#: commands/tablecmds.c:3011 commands/tablecmds.c:3098 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "" "Дочерний столбец может быть генерируемым, только если родительский столбец " "является таковым." -#: commands/tablecmds.c:3143 +#: commands/tablecmds.c:3144 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "столбец \"%s\" наследует конфликтующие генерирующие выражения" -#: commands/tablecmds.c:3145 +#: commands/tablecmds.c:3146 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "Для разрешения конфликта укажите генерирующее выражение явно." -#: commands/tablecmds.c:3149 +#: commands/tablecmds.c:3150 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "столбец \"%s\" наследует конфликтующие значения по умолчанию" -#: commands/tablecmds.c:3151 +#: commands/tablecmds.c:3152 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Для решения конфликта укажите желаемое значение по умолчанию." -#: commands/tablecmds.c:3201 +#: commands/tablecmds.c:3202 #, c-format msgid "" "check constraint name \"%s\" appears multiple times but with different " @@ -11624,52 +11624,52 @@ msgstr "" "имя ограничения-проверки \"%s\" фигурирует несколько раз, но с разными " "выражениями" -#: commands/tablecmds.c:3414 +#: commands/tablecmds.c:3427 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "перемещать временные таблицы других сеансов нельзя" -#: commands/tablecmds.c:3484 +#: commands/tablecmds.c:3497 #, c-format msgid "cannot rename column of typed table" msgstr "переименовать столбец типизированной таблицы нельзя" -#: commands/tablecmds.c:3503 +#: commands/tablecmds.c:3516 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "переименовывать столбцы отношения \"%s\" нельзя" -#: commands/tablecmds.c:3598 +#: commands/tablecmds.c:3611 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "" "наследованный столбец \"%s\" должен быть также переименован в дочерних " "таблицах" -#: commands/tablecmds.c:3630 +#: commands/tablecmds.c:3643 #, c-format msgid "cannot rename system column \"%s\"" msgstr "нельзя переименовать системный столбец \"%s\"" -#: commands/tablecmds.c:3645 +#: commands/tablecmds.c:3658 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "нельзя переименовать наследованный столбец \"%s\"" -#: commands/tablecmds.c:3797 +#: commands/tablecmds.c:3810 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "" "наследуемое ограничение \"%s\" должно быть также переименовано в дочерних " "таблицах" -#: commands/tablecmds.c:3804 +#: commands/tablecmds.c:3817 #, 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:4114 #, c-format msgid "" "cannot %s \"%s\" because it is being used by active queries in this session" @@ -11678,59 +11678,64 @@ msgstr "" "запросами в данном сеансе" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4110 +#: commands/tablecmds.c:4123 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "" "нельзя выполнить %s \"%s\", так как с этим объектом связаны отложенные " "события триггеров" -#: commands/tablecmds.c:4577 +#: commands/tablecmds.c:4149 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "модифицировать временные таблицы других сеансов нельзя" + +#: commands/tablecmds.c:4621 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "нельзя изменить секцию \"%s\", которая не полностью отсоединена" -#: commands/tablecmds.c:4770 commands/tablecmds.c:4785 +#: commands/tablecmds.c:4814 commands/tablecmds.c:4829 #, c-format msgid "cannot change persistence setting twice" msgstr "изменить характеристику хранения дважды нельзя" -#: commands/tablecmds.c:4806 +#: commands/tablecmds.c:4850 #, c-format msgid "cannot change access method of a partitioned table" msgstr "менять метод доступа для секционированной таблицы нельзя" -#: commands/tablecmds.c:4812 +#: commands/tablecmds.c:4856 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "множественные подкоманды SET ACCESS METHOD не допускаются" -#: commands/tablecmds.c:5533 +#: commands/tablecmds.c:5577 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "перезаписать системное отношение \"%s\" нельзя" -#: commands/tablecmds.c:5539 +#: commands/tablecmds.c:5583 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "перезаписать таблицу \"%s\", используемую как таблицу каталога, нельзя" -#: commands/tablecmds.c:5549 +#: commands/tablecmds.c:5595 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "перезаписывать временные таблицы других сеансов нельзя" -#: commands/tablecmds.c:6044 +#: commands/tablecmds.c:6090 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "столбец \"%s\" отношения \"%s\" содержит значения NULL" -#: commands/tablecmds.c:6061 +#: commands/tablecmds.c:6107 #, 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:6126 partitioning/partbounds.c:3388 #, c-format msgid "" "updated partition constraint for default partition \"%s\" would be violated " @@ -11739,24 +11744,24 @@ msgstr "" "изменённое ограничение секции для секции по умолчанию \"%s\" будет нарушено " "некоторыми строками" -#: commands/tablecmds.c:6086 +#: commands/tablecmds.c:6132 #, 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:6394 #, 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:6649 commands/tablecmds.c:6656 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "" "изменить тип \"%s\" нельзя, так как он задействован в столбце \"%s.%s\"" -#: commands/tablecmds.c:6617 +#: commands/tablecmds.c:6663 #, c-format msgid "" "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" @@ -11764,77 +11769,77 @@ msgstr "" "изменить стороннюю таблицу \"%s\" нельзя, так как столбец \"%s.%s\" " "задействует тип её строки" -#: commands/tablecmds.c:6624 +#: commands/tablecmds.c:6670 #, 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:6726 #, 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:6728 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "" "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE." -#: commands/tablecmds.c:6728 +#: commands/tablecmds.c:6774 #, c-format msgid "type %s is not a composite type" msgstr "тип %s не является составным" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6801 #, c-format msgid "cannot add column to typed table" msgstr "добавить столбец в типизированную таблицу нельзя" -#: commands/tablecmds.c:6811 +#: commands/tablecmds.c:6857 #, c-format msgid "cannot add column to a partition" msgstr "добавить столбец в секцию нельзя" -#: commands/tablecmds.c:6840 commands/tablecmds.c:15221 +#: commands/tablecmds.c:6886 commands/tablecmds.c:15267 #, 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:6892 commands/tablecmds.c:15274 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "" "дочерняя таблица \"%s\" имеет другое правило сортировки для столбца \"%s\"" -#: commands/tablecmds.c:6864 +#: commands/tablecmds.c:6910 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "объединение определений столбца \"%s\" для потомка \"%s\"" -#: commands/tablecmds.c:6911 +#: commands/tablecmds.c:6957 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "" "добавить столбец идентификации в таблицу, у которой есть дочерние, нельзя" -#: commands/tablecmds.c:7162 +#: commands/tablecmds.c:7208 #, c-format msgid "column must be added to child tables too" msgstr "столбец также должен быть добавлен к дочерним таблицам" -#: commands/tablecmds.c:7240 +#: commands/tablecmds.c:7286 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "столбец \"%s\" отношения \"%s\" уже существует, пропускается" -#: commands/tablecmds.c:7247 +#: commands/tablecmds.c:7293 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "столбец \"%s\" отношения \"%s\" уже существует" -#: commands/tablecmds.c:7313 commands/tablecmds.c:12115 +#: commands/tablecmds.c:7359 commands/tablecmds.c:12161 #, c-format msgid "" "cannot remove constraint from only the partitioned table when partitions " @@ -11843,59 +11848,59 @@ msgstr "" "удалить ограничение только из секционированной таблицы, когда существуют " "секции, нельзя" -#: commands/tablecmds.c:7314 commands/tablecmds.c:7631 -#: commands/tablecmds.c:8604 commands/tablecmds.c:12116 +#: commands/tablecmds.c:7360 commands/tablecmds.c:7677 +#: commands/tablecmds.c:8650 commands/tablecmds.c:12162 #, 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:7397 commands/tablecmds.c:7603 +#: commands/tablecmds.c:7745 commands/tablecmds.c:7863 +#: commands/tablecmds.c:7957 commands/tablecmds.c:8016 +#: commands/tablecmds.c:8135 commands/tablecmds.c:8274 +#: commands/tablecmds.c:8344 commands/tablecmds.c:8478 +#: commands/tablecmds.c:12316 commands/tablecmds.c:13853 +#: commands/tablecmds.c:16384 #, c-format msgid "cannot alter system column \"%s\"" msgstr "системный столбец \"%s\" нельзя изменить" -#: commands/tablecmds.c:7357 commands/tablecmds.c:7705 +#: commands/tablecmds.c:7403 commands/tablecmds.c:7751 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "столбец \"%s\" отношения \"%s\" является столбцом идентификации" -#: commands/tablecmds.c:7400 +#: commands/tablecmds.c:7446 #, c-format msgid "column \"%s\" is in a primary key" msgstr "столбец \"%s\" входит в первичный ключ" -#: commands/tablecmds.c:7405 +#: commands/tablecmds.c:7451 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "столбец \"%s\" входит в индекс, используемый для идентификации реплики" -#: commands/tablecmds.c:7428 +#: commands/tablecmds.c:7474 #, 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:7674 commands/tablecmds.c:9134 #, c-format msgid "constraint must be added to child tables too" msgstr "ограничение также должно быть добавлено к дочерним таблицам" -#: commands/tablecmds.c:7629 +#: commands/tablecmds.c:7675 #, 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:7760 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "столбец \"%s\" отношения \"%s\" является генерируемым" -#: commands/tablecmds.c:7828 +#: commands/tablecmds.c:7874 #, c-format msgid "" "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity " @@ -11904,46 +11909,46 @@ msgstr "" "столбец \"%s\" отношения \"%s\" должен быть объявлен как NOT NULL, чтобы его " "можно было сделать столбцом идентификации" -#: commands/tablecmds.c:7834 +#: commands/tablecmds.c:7880 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "столбец \"%s\" отношения \"%s\" уже является столбцом идентификации" -#: commands/tablecmds.c:7840 +#: commands/tablecmds.c:7886 #, 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:7963 commands/tablecmds.c:8024 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "столбец \"%s\" отношения \"%s\" не является столбцом идентификации" -#: commands/tablecmds.c:7983 +#: commands/tablecmds.c:8029 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "" "столбец \"%s\" отношения \"%s\" не является столбцом идентификации, " "пропускается" -#: commands/tablecmds.c:8036 +#: commands/tablecmds.c:8082 #, 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:8104 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "нельзя удалить генерирующее выражение из наследуемого столбца" -#: commands/tablecmds.c:8097 +#: commands/tablecmds.c:8143 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "" "столбец \"%s\" отношения \"%s\" не является сохранённым генерируемым столбцом" -#: commands/tablecmds.c:8102 +#: commands/tablecmds.c:8148 #, c-format msgid "" "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" @@ -11951,53 +11956,53 @@ msgstr "" "столбец \"%s\" отношения \"%s\" пропускается, так как не является " "сохранённым генерируемым столбцом" -#: commands/tablecmds.c:8175 +#: commands/tablecmds.c:8221 #, c-format msgid "cannot refer to non-index column by number" msgstr "по номеру можно ссылаться только на столбец в индексе" -#: commands/tablecmds.c:8218 +#: commands/tablecmds.c:8264 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "столбец с номером %d отношения \"%s\" не существует" -#: commands/tablecmds.c:8237 +#: commands/tablecmds.c:8283 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "изменить статистику включённого столбца \"%s\" индекса \"%s\" нельзя" -#: commands/tablecmds.c:8242 +#: commands/tablecmds.c:8288 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "" "изменить статистику столбца \"%s\" (не выражения) индекса \"%s\" нельзя" -#: commands/tablecmds.c:8244 +#: commands/tablecmds.c:8290 #, c-format msgid "Alter statistics on table column instead." msgstr "Вместо этого измените статистику для столбца в таблице." -#: commands/tablecmds.c:8479 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop column from typed table" msgstr "нельзя удалить столбец в типизированной таблице" -#: commands/tablecmds.c:8542 +#: commands/tablecmds.c:8588 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "столбец \"%s\" в таблице\"%s\" не существует, пропускается" -#: commands/tablecmds.c:8555 +#: commands/tablecmds.c:8601 #, c-format msgid "cannot drop system column \"%s\"" msgstr "нельзя удалить системный столбец \"%s\"" -#: commands/tablecmds.c:8565 +#: commands/tablecmds.c:8611 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "нельзя удалить наследованный столбец \"%s\"" -#: commands/tablecmds.c:8578 +#: commands/tablecmds.c:8624 #, c-format msgid "" "cannot drop column \"%s\" because it is part of the partition key of " @@ -12006,7 +12011,7 @@ msgstr "" "удалить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения " "\"%s\"" -#: commands/tablecmds.c:8603 +#: commands/tablecmds.c:8649 #, c-format msgid "" "cannot drop column from only the partitioned table when partitions exist" @@ -12014,7 +12019,7 @@ msgstr "" "удалить столбец только из секционированной таблицы, когда существуют секции, " "нельзя" -#: commands/tablecmds.c:8808 +#: commands/tablecmds.c:8854 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned " @@ -12023,14 +12028,14 @@ msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX не поддерживается с " "секционированными таблицами" -#: commands/tablecmds.c:8833 +#: commands/tablecmds.c:8879 #, 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:9216 #, c-format msgid "" "cannot use ONLY for foreign key on partitioned table \"%s\" referencing " @@ -12039,7 +12044,7 @@ msgstr "" "нельзя использовать ONLY для стороннего ключа в секционированной таблице " "\"%s\", ссылающегося на отношение \"%s\"" -#: commands/tablecmds.c:9176 +#: commands/tablecmds.c:9222 #, c-format msgid "" "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing " @@ -12048,25 +12053,25 @@ msgstr "" "нельзя добавить с характеристикой NOT VALID сторонний ключ в " "секционированной таблице \"%s\", ссылающийся на отношение \"%s\"" -#: commands/tablecmds.c:9179 +#: commands/tablecmds.c:9225 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "" "Эта функциональность с секционированными таблицами пока не поддерживается." -#: commands/tablecmds.c:9186 commands/tablecmds.c:9642 +#: commands/tablecmds.c:9232 commands/tablecmds.c:9688 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "указанный объект \"%s\" не является таблицей" -#: commands/tablecmds.c:9209 +#: commands/tablecmds.c:9255 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "" "ограничения в постоянных таблицах могут ссылаться только на постоянные " "таблицы" -#: commands/tablecmds.c:9216 +#: commands/tablecmds.c:9262 #, c-format msgid "" "constraints on unlogged tables may reference only permanent or unlogged " @@ -12075,13 +12080,13 @@ msgstr "" "ограничения в нежурналируемых таблицах могут ссылаться только на постоянные " "или нежурналируемые таблицы" -#: commands/tablecmds.c:9222 +#: commands/tablecmds.c:9268 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "" "ограничения во временных таблицах могут ссылаться только на временные таблицы" -#: commands/tablecmds.c:9226 +#: commands/tablecmds.c:9272 #, c-format msgid "" "constraints on temporary tables must involve temporary tables of this session" @@ -12089,7 +12094,7 @@ msgstr "" "ограничения во временных таблицах должны ссылаться только на временные " "таблицы текущего сеанса" -#: commands/tablecmds.c:9290 commands/tablecmds.c:9296 +#: commands/tablecmds.c:9336 commands/tablecmds.c:9342 #, c-format msgid "" "invalid %s action for foreign key constraint containing generated column" @@ -12097,22 +12102,22 @@ msgstr "" "некорректное действие %s для ограничения внешнего ключа, содержащего " "генерируемый столбец" -#: commands/tablecmds.c:9312 +#: commands/tablecmds.c:9358 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "число столбцов в источнике и назначении внешнего ключа не совпадает" -#: commands/tablecmds.c:9419 +#: commands/tablecmds.c:9465 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "ограничение внешнего ключа \"%s\" нельзя реализовать" -#: commands/tablecmds.c:9421 +#: commands/tablecmds.c:9467 #, 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:9624 #, c-format msgid "" "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" @@ -12120,40 +12125,40 @@ 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:9898 commands/tablecmds.c:10368 +#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:923 #, 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:10921 commands/tablecmds.c:11202 +#: commands/tablecmds.c:12118 commands/tablecmds.c:12193 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "ограничение \"%s\" в таблице \"%s\" не существует" -#: commands/tablecmds.c:10882 +#: commands/tablecmds.c:10928 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "ограничение \"%s\" в таблице \"%s\" не является внешним ключом" -#: commands/tablecmds.c:10920 +#: commands/tablecmds.c:10966 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "изменить ограничение \"%s\" таблицы \"%s\" нельзя" -#: commands/tablecmds.c:10923 +#: commands/tablecmds.c:10969 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "" "Ограничение \"%s\" является производным от ограничения \"%s\" таблицы \"%s\"." -#: commands/tablecmds.c:10925 +#: commands/tablecmds.c:10971 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Вместо этого вы можете изменить родительское ограничение." -#: commands/tablecmds.c:11164 +#: commands/tablecmds.c:11210 #, c-format msgid "" "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" @@ -12161,51 +12166,51 @@ msgstr "" "ограничение \"%s\" в таблице \"%s\" не является внешним ключом или " "ограничением-проверкой" -#: commands/tablecmds.c:11241 +#: commands/tablecmds.c:11287 #, c-format msgid "constraint must be validated on child tables too" msgstr "ограничение также должно соблюдаться в дочерних таблицах" -#: commands/tablecmds.c:11328 +#: commands/tablecmds.c:11374 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "столбец \"%s\", указанный в ограничении внешнего ключа, не существует" -#: commands/tablecmds.c:11334 +#: commands/tablecmds.c:11380 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "системные столбцы нельзя использовать во внешних ключах" -#: commands/tablecmds.c:11338 +#: commands/tablecmds.c:11384 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "во внешнем ключе не может быть больше %d столбцов" -#: commands/tablecmds.c:11403 +#: commands/tablecmds.c:11449 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "" "использовать откладываемый первичный ключ в целевой внешней таблице \"%s\" " "нельзя" -#: commands/tablecmds.c:11420 +#: commands/tablecmds.c:11466 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "в целевой внешней таблице \"%s\" нет первичного ключа" -#: commands/tablecmds.c:11488 +#: commands/tablecmds.c:11534 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "в списке столбцов внешнего ключа не должно быть повторений" -#: commands/tablecmds.c:11580 +#: commands/tablecmds.c:11626 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "" "использовать откладываемое ограничение уникальности в целевой внешней " "таблице \"%s\" нельзя" -#: commands/tablecmds.c:11585 +#: commands/tablecmds.c:11631 #, c-format msgid "" "there is no unique constraint matching given keys for referenced table \"%s\"" @@ -12213,27 +12218,27 @@ msgstr "" "в целевой внешней таблице \"%s\" нет ограничения уникальности, " "соответствующего данным ключам" -#: commands/tablecmds.c:12028 +#: commands/tablecmds.c:12074 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "удалить наследованное ограничение \"%s\" таблицы \"%s\" нельзя" -#: commands/tablecmds.c:12078 +#: commands/tablecmds.c:12124 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "ограничение \"%s\" в таблице \"%s\" не существует, пропускается" -#: commands/tablecmds.c:12254 +#: commands/tablecmds.c:12300 #, c-format msgid "cannot alter column type of typed table" msgstr "изменить тип столбца в типизированной таблице нельзя" -#: commands/tablecmds.c:12281 +#: commands/tablecmds.c:12327 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "изменить наследованный столбец \"%s\" нельзя" -#: commands/tablecmds.c:12290 +#: commands/tablecmds.c:12336 #, c-format msgid "" "cannot alter column \"%s\" because it is part of the partition key of " @@ -12242,7 +12247,7 @@ msgstr "" "изменить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения " "\"%s\"" -#: commands/tablecmds.c:12340 +#: commands/tablecmds.c:12386 #, c-format msgid "" "result of USING clause for column \"%s\" cannot be cast automatically to " @@ -12250,45 +12255,45 @@ msgid "" msgstr "" "результат USING для столбца \"%s\" нельзя автоматически привести к типу %s" -#: commands/tablecmds.c:12343 +#: commands/tablecmds.c:12389 #, c-format msgid "You might need to add an explicit cast." msgstr "Возможно, необходимо добавить явное приведение." -#: commands/tablecmds.c:12347 +#: commands/tablecmds.c:12393 #, 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:12396 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Возможно, необходимо указать \"USING %s::%s\"." -#: commands/tablecmds.c:12449 +#: commands/tablecmds.c:12495 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "изменить наследованный столбец \"%s\" отношения \"%s\" нельзя" -#: commands/tablecmds.c:12478 +#: commands/tablecmds.c:12524 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Выражение USING ссылается на тип всей строки таблицы." -#: commands/tablecmds.c:12489 +#: commands/tablecmds.c:12535 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "" "тип наследованного столбца \"%s\" должен быть изменён и в дочерних таблицах" -#: commands/tablecmds.c:12614 +#: commands/tablecmds.c:12660 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "нельзя изменить тип столбца \"%s\" дважды" -#: commands/tablecmds.c:12652 +#: commands/tablecmds.c:12698 #, c-format msgid "" "generation expression for column \"%s\" cannot be cast automatically to type " @@ -12297,160 +12302,160 @@ msgstr "" "генерирующее выражение для столбца \"%s\" нельзя автоматически привести к " "типу %s" -#: commands/tablecmds.c:12657 +#: commands/tablecmds.c:12703 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "" "значение по умолчанию для столбца \"%s\" нельзя автоматически привести к " "типу %s" -#: commands/tablecmds.c:12745 +#: commands/tablecmds.c:12791 #, 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:12792 commands/tablecmds.c:12806 +#: commands/tablecmds.c:12825 commands/tablecmds.c:12843 +#: commands/tablecmds.c:12901 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s зависит от столбца \"%s\"" -#: commands/tablecmds.c:12759 +#: commands/tablecmds.c:12805 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "" "изменить тип столбца, задействованного в представлении или правиле, нельзя" -#: commands/tablecmds.c:12778 +#: commands/tablecmds.c:12824 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "изменить тип столбца, задействованного в определении триггера, нельзя" -#: commands/tablecmds.c:12796 +#: commands/tablecmds.c:12842 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "изменить тип столбца, задействованного в определении политики, нельзя" -#: commands/tablecmds.c:12827 +#: commands/tablecmds.c:12873 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "изменить тип столбца, задействованного в генерируемом столбце, нельзя" -#: commands/tablecmds.c:12828 +#: commands/tablecmds.c:12874 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Столбец \"%s\" используется генерируемым столбцом \"%s\"." -#: commands/tablecmds.c:12854 +#: commands/tablecmds.c:12900 #, 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:13961 commands/tablecmds.c:13973 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "сменить владельца индекса \"%s\" нельзя" -#: commands/tablecmds.c:13917 commands/tablecmds.c:13929 +#: commands/tablecmds.c:13963 commands/tablecmds.c:13975 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Однако возможно сменить владельца таблицы, содержащей этот индекс." -#: commands/tablecmds.c:13943 +#: commands/tablecmds.c:13989 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "сменить владельца последовательности \"%s\" нельзя" -#: commands/tablecmds.c:13968 +#: commands/tablecmds.c:14014 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "сменить владельца отношения \"%s\" нельзя" -#: commands/tablecmds.c:14330 +#: commands/tablecmds.c:14376 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одной инструкции не может быть несколько подкоманд SET TABLESPACE" -#: commands/tablecmds.c:14407 +#: commands/tablecmds.c:14453 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "задать параметры отношения \"%s\" нельзя" -#: commands/tablecmds.c:14441 commands/view.c:445 +#: commands/tablecmds.c:14487 commands/view.c:445 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "" "WITH CHECK OPTION поддерживается только с автообновляемыми представлениями" -#: commands/tablecmds.c:14691 +#: commands/tablecmds.c:14737 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "" "в табличных пространствах есть только таблицы, индексы и материализованные " "представления" -#: commands/tablecmds.c:14703 +#: commands/tablecmds.c:14749 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "перемещать объекты в/из табличного пространства pg_global нельзя" -#: commands/tablecmds.c:14795 +#: commands/tablecmds.c:14841 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "" "обработка прерывается из-за невозможности заблокировать отношение \"%s.%s\"" -#: commands/tablecmds.c:14811 +#: commands/tablecmds.c:14857 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "в табличном пространстве \"%s\" не найдены подходящие отношения" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:14975 #, c-format msgid "cannot change inheritance of typed table" msgstr "изменить наследование типизированной таблицы нельзя" -#: commands/tablecmds.c:14934 commands/tablecmds.c:15452 +#: commands/tablecmds.c:14980 commands/tablecmds.c:15498 #, c-format msgid "cannot change inheritance of a partition" msgstr "изменить наследование секции нельзя" -#: commands/tablecmds.c:14939 +#: commands/tablecmds.c:14985 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "изменить наследование секционированной таблицы нельзя" -#: commands/tablecmds.c:14985 +#: commands/tablecmds.c:15031 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "наследование для временного отношения другого сеанса невозможно" -#: commands/tablecmds.c:14998 +#: commands/tablecmds.c:15044 #, c-format msgid "cannot inherit from a partition" msgstr "наследование от секции невозможно" -#: commands/tablecmds.c:15020 commands/tablecmds.c:17878 +#: commands/tablecmds.c:15066 commands/tablecmds.c:17924 #, c-format msgid "circular inheritance not allowed" msgstr "циклическое наследование недопустимо" -#: commands/tablecmds.c:15021 commands/tablecmds.c:17879 +#: commands/tablecmds.c:15067 commands/tablecmds.c:17925 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" уже является потомком \"%s\"." -#: commands/tablecmds.c:15034 +#: commands/tablecmds.c:15080 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "" "триггер \"%s\" не позволяет таблице \"%s\" стать потомком в иерархии " "наследования" -#: commands/tablecmds.c:15036 +#: commands/tablecmds.c:15082 #, c-format msgid "" "ROW triggers with transition tables are not supported in inheritance " @@ -12459,34 +12464,34 @@ msgstr "" "Триггеры ROW с переходными таблицами не поддерживаются в иерархиях " "наследования." -#: commands/tablecmds.c:15239 +#: commands/tablecmds.c:15285 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "столбец \"%s\" в дочерней таблице должен быть помечен как NOT NULL" -#: commands/tablecmds.c:15248 +#: commands/tablecmds.c:15294 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "столбец \"%s\" в дочерней таблице должен быть генерируемым" -#: commands/tablecmds.c:15253 +#: commands/tablecmds.c:15299 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "столбец \"%s\" в дочерней таблице должен быть не генерируемым" -#: commands/tablecmds.c:15284 +#: commands/tablecmds.c:15330 #, c-format msgid "child table is missing column \"%s\"" msgstr "в дочерней таблице не хватает столбца \"%s\"" -#: commands/tablecmds.c:15372 +#: commands/tablecmds.c:15418 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "" "дочерняя таблица \"%s\" содержит другое определение ограничения-проверки " "\"%s\"" -#: commands/tablecmds.c:15380 +#: commands/tablecmds.c:15426 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on child table " @@ -12495,7 +12500,7 @@ msgstr "" "ограничение \"%s\" конфликтует с ненаследуемым ограничением дочерней таблицы " "\"%s\"" -#: commands/tablecmds.c:15391 +#: commands/tablecmds.c:15437 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" @@ -12503,82 +12508,82 @@ msgstr "" "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением " "дочерней таблицы \"%s\"" -#: commands/tablecmds.c:15430 +#: commands/tablecmds.c:15476 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "в дочерней таблице не хватает ограничения \"%s\"" -#: commands/tablecmds.c:15516 +#: commands/tablecmds.c:15562 #, 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:15591 commands/tablecmds.c:15639 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "отношение \"%s\" не является секцией отношения \"%s\"" -#: commands/tablecmds.c:15599 +#: commands/tablecmds.c:15645 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "отношение \"%s\" не является предком отношения \"%s\"" -#: commands/tablecmds.c:15827 +#: commands/tablecmds.c:15873 #, c-format msgid "typed tables cannot inherit" msgstr "типизированные таблицы не могут наследоваться" -#: commands/tablecmds.c:15857 +#: commands/tablecmds.c:15903 #, c-format msgid "table is missing column \"%s\"" msgstr "в таблице не хватает столбца \"%s\"" -#: commands/tablecmds.c:15868 +#: commands/tablecmds.c:15914 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "таблица содержит столбец \"%s\", тогда как тип требует \"%s\"" -#: commands/tablecmds.c:15877 +#: commands/tablecmds.c:15923 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "таблица \"%s\" содержит столбец \"%s\" другого типа" -#: commands/tablecmds.c:15891 +#: commands/tablecmds.c:15937 #, c-format msgid "table has extra column \"%s\"" msgstr "таблица содержит лишний столбец \"%s\"" -#: commands/tablecmds.c:15943 +#: commands/tablecmds.c:15989 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - это не типизированная таблица" -#: commands/tablecmds.c:16117 +#: commands/tablecmds.c:16163 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать неуникальный индекс \"%s\"" -#: commands/tablecmds.c:16123 +#: commands/tablecmds.c:16169 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать не непосредственный индекс " "\"%s\"" -#: commands/tablecmds.c:16129 +#: commands/tablecmds.c:16175 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать индекс с выражением \"%s\"" -#: commands/tablecmds.c:16135 +#: commands/tablecmds.c:16181 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "для идентификации реплики нельзя использовать частичный индекс \"%s\"" -#: commands/tablecmds.c:16152 +#: commands/tablecmds.c:16198 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column %d is a " @@ -12587,7 +12592,7 @@ msgstr "" "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец " "%d - системный" -#: commands/tablecmds.c:16159 +#: commands/tablecmds.c:16205 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column \"%s\" is " @@ -12596,13 +12601,13 @@ msgstr "" "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец " "\"%s\" допускает NULL" -#: commands/tablecmds.c:16404 +#: commands/tablecmds.c:16450 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "" "изменить состояние журналирования таблицы %s нельзя, так как она временная" -#: commands/tablecmds.c:16428 +#: commands/tablecmds.c:16474 #, c-format msgid "" "cannot change table \"%s\" to unlogged because it is part of a publication" @@ -12610,12 +12615,12 @@ msgstr "" "таблицу \"%s\" нельзя сделать нежурналируемой, так как она включена в " "публикацию" -#: commands/tablecmds.c:16430 +#: commands/tablecmds.c:16476 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Нежурналируемые отношения не поддерживают репликацию." -#: commands/tablecmds.c:16475 +#: commands/tablecmds.c:16521 #, c-format msgid "" "could not change table \"%s\" to logged because it references unlogged table " @@ -12624,7 +12629,7 @@ msgstr "" "не удалось сделать таблицу \"%s\" журналируемой, так как она ссылается на " "нежурналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16485 +#: commands/tablecmds.c:16531 #, c-format msgid "" "could not change table \"%s\" to unlogged because it references logged table " @@ -12633,97 +12638,97 @@ msgstr "" "не удалось сделать таблицу \"%s\" нежурналируемой, так как она ссылается на " "журналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16543 +#: commands/tablecmds.c:16589 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "переместить последовательность с владельцем в другую схему нельзя" -#: commands/tablecmds.c:16645 +#: commands/tablecmds.c:16691 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "отношение \"%s\" уже существует в схеме \"%s\"" -#: commands/tablecmds.c:17065 +#: commands/tablecmds.c:17111 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" - это не таблица и не материализованное представление" -#: commands/tablecmds.c:17215 +#: commands/tablecmds.c:17261 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - это не составной тип" -#: commands/tablecmds.c:17245 +#: commands/tablecmds.c:17291 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "сменить схему индекса \"%s\" нельзя" -#: commands/tablecmds.c:17247 commands/tablecmds.c:17261 +#: commands/tablecmds.c:17293 commands/tablecmds.c:17307 #, c-format msgid "Change the schema of the table instead." msgstr "Однако возможно сменить владельца таблицы." -#: commands/tablecmds.c:17251 +#: commands/tablecmds.c:17297 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "сменить схему составного типа \"%s\" нельзя" -#: commands/tablecmds.c:17259 +#: commands/tablecmds.c:17305 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "сменить схему TOAST-таблицы \"%s\" нельзя" -#: commands/tablecmds.c:17291 +#: commands/tablecmds.c:17337 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "стратегия секционирования по списку не поддерживает несколько столбцов" -#: commands/tablecmds.c:17357 +#: commands/tablecmds.c:17403 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "столбец \"%s\", упомянутый в ключе секционирования, не существует" -#: commands/tablecmds.c:17365 +#: commands/tablecmds.c:17411 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "системный столбец \"%s\" нельзя использовать в ключе секционирования" -#: commands/tablecmds.c:17376 commands/tablecmds.c:17466 +#: commands/tablecmds.c:17422 commands/tablecmds.c:17512 #, c-format msgid "cannot use generated column in partition key" msgstr "генерируемый столбец нельзя использовать в ключе секционирования" -#: commands/tablecmds.c:17377 commands/tablecmds.c:17467 commands/trigger.c:663 +#: commands/tablecmds.c:17423 commands/tablecmds.c:17513 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:17495 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "" "выражения ключей секционирования не могут содержать ссылки на системный " "столбец" -#: commands/tablecmds.c:17496 +#: commands/tablecmds.c:17542 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "" "функции в выражении ключа секционирования должны быть помечены как IMMUTABLE" -#: commands/tablecmds.c:17505 +#: commands/tablecmds.c:17551 #, c-format msgid "cannot use constant expression as partition key" msgstr "" "в качестве ключа секционирования нельзя использовать константное выражение" -#: commands/tablecmds.c:17526 +#: commands/tablecmds.c:17572 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не удалось определить правило сортировки для выражения секционирования" -#: commands/tablecmds.c:17561 +#: commands/tablecmds.c:17607 #, c-format msgid "" "You must specify a hash operator class or define a default hash operator " @@ -12732,7 +12737,7 @@ msgstr "" "Вы должны указать класс операторов хеширования или определить класс " "операторов хеширования по умолчанию для этого типа данных." -#: commands/tablecmds.c:17567 +#: commands/tablecmds.c:17613 #, c-format msgid "" "You must specify a btree operator class or define a default btree operator " @@ -12741,27 +12746,27 @@ msgstr "" "Вы должны указать класс операторов B-дерева или определить класс операторов " "B-дерева по умолчанию для этого типа данных." -#: commands/tablecmds.c:17818 +#: commands/tablecmds.c:17864 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" уже является секцией" -#: commands/tablecmds.c:17824 +#: commands/tablecmds.c:17870 #, c-format msgid "cannot attach a typed table as partition" msgstr "подключить типизированную таблицу в качестве секции нельзя" -#: commands/tablecmds.c:17840 +#: commands/tablecmds.c:17886 #, c-format msgid "cannot attach inheritance child as partition" msgstr "подключить потомок в иерархии наследования в качестве секции нельзя" -#: commands/tablecmds.c:17854 +#: commands/tablecmds.c:17900 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "подключить родитель в иерархии наследования в качестве секции нельзя" -#: commands/tablecmds.c:17888 +#: commands/tablecmds.c:17934 #, c-format msgid "" "cannot attach a temporary relation as partition of permanent relation \"%s\"" @@ -12769,7 +12774,7 @@ msgstr "" "подключить временное отношение в качестве секции постоянного отношения " "\"%s\" нельзя" -#: commands/tablecmds.c:17896 +#: commands/tablecmds.c:17942 #, c-format msgid "" "cannot attach a permanent relation as partition of temporary relation \"%s\"" @@ -12777,92 +12782,92 @@ msgstr "" "подключить постоянное отношение в качестве секции временного отношения " "\"%s\" нельзя" -#: commands/tablecmds.c:17904 +#: commands/tablecmds.c:17950 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "подключить секцию к временному отношению в другом сеансе нельзя" -#: commands/tablecmds.c:17911 +#: commands/tablecmds.c:17957 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "" "подключить временное отношение из другого сеанса в качестве секции нельзя" -#: commands/tablecmds.c:17931 +#: commands/tablecmds.c:17977 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "" "таблица \"%s\" содержит столбец \"%s\", отсутствующий в родителе \"%s\"" -#: commands/tablecmds.c:17934 +#: commands/tablecmds.c:17980 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "" "Новая секция может содержать только столбцы, имеющиеся в родительской " "таблице." -#: commands/tablecmds.c:17946 +#: commands/tablecmds.c:17992 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "триггер \"%s\" не позволяет сделать таблицу \"%s\" секцией" -#: commands/tablecmds.c:17948 +#: commands/tablecmds.c:17994 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Триггеры ROW с переходными таблицами для секций не поддерживаются." -#: commands/tablecmds.c:18127 +#: commands/tablecmds.c:18173 #, c-format msgid "" "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "" "нельзя присоединить стороннюю таблицу \"%s\" в качестве секции таблицы \"%s\"" -#: commands/tablecmds.c:18130 +#: commands/tablecmds.c:18176 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Секционированная таблица \"%s\" содержит уникальные индексы." -#: commands/tablecmds.c:18447 +#: commands/tablecmds.c:18493 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "" "секции нельзя отсоединять в режиме CONCURRENTLY, когда существует секция по " "умолчанию" -#: commands/tablecmds.c:18556 +#: commands/tablecmds.c:18602 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "секционированная таблица \"%s\" была параллельно удалена" -#: commands/tablecmds.c:18562 +#: commands/tablecmds.c:18608 #, 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:19132 commands/tablecmds.c:19152 +#: commands/tablecmds.c:19173 commands/tablecmds.c:19192 +#: commands/tablecmds.c:19234 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "нельзя присоединить индекс \"%s\" в качестве секции индекса \"%s\"" -#: commands/tablecmds.c:19080 +#: commands/tablecmds.c:19135 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Индекс \"%s\" уже присоединён к другому индексу." -#: commands/tablecmds.c:19100 +#: commands/tablecmds.c:19155 #, 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:19176 #, c-format msgid "The index definitions do not match." msgstr "Определения индексов не совпадают." -#: commands/tablecmds.c:19140 +#: commands/tablecmds.c:19195 #, c-format msgid "" "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint " @@ -12871,27 +12876,27 @@ msgstr "" "Индекс \"%s\" принадлежит ограничению в таблице \"%s\", но для индекса " "\"%s\" ограничения нет." -#: commands/tablecmds.c:19182 +#: commands/tablecmds.c:19237 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "К секции \"%s\" уже присоединён другой индекс." -#: commands/tablecmds.c:19418 +#: commands/tablecmds.c:19473 #, c-format msgid "column data type %s does not support compression" msgstr "тим данных столбца %s не поддерживает сжатие" -#: commands/tablecmds.c:19425 +#: commands/tablecmds.c:19480 #, c-format msgid "invalid compression method \"%s\"" msgstr "неверный метод сжатия \"%s\"" -#: commands/tablecmds.c:19451 +#: commands/tablecmds.c:19506 #, c-format msgid "invalid storage type \"%s\"" msgstr "неверный тип хранилища \"%s\"" -#: commands/tablecmds.c:19461 +#: commands/tablecmds.c:19516 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "тип данных столбца %s совместим только с хранилищем PLAIN" @@ -13287,8 +13292,8 @@ msgstr "" "До выполнения триггера \"%s\" строка должна была находиться в секции \"%s." "%s\"." -#: commands/trigger.c:3347 executor/nodeModifyTable.c:2369 -#: executor/nodeModifyTable.c:2452 +#: commands/trigger.c:3347 executor/nodeModifyTable.c:2378 +#: executor/nodeModifyTable.c:2461 #, c-format msgid "" "tuple to be updated was already modified by an operation triggered by the " @@ -13297,10 +13302,10 @@ 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:3348 executor/nodeModifyTable.c:1543 +#: executor/nodeModifyTable.c:1617 executor/nodeModifyTable.c:2379 +#: executor/nodeModifyTable.c:2462 executor/nodeModifyTable.c:2999 +#: executor/nodeModifyTable.c:3126 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -13310,33 +13315,33 @@ 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 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:316 +#: executor/nodeModifyTable.c:1559 executor/nodeModifyTable.c:2396 +#: executor/nodeModifyTable.c:2604 #, 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:3397 executor/nodeModifyTable.c:1649 +#: executor/nodeModifyTable.c:2479 executor/nodeModifyTable.c:2628 +#: executor/nodeModifyTable.c:3017 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не удалось сериализовать доступ из-за параллельного удаления" -#: commands/trigger.c:4604 +#: commands/trigger.c:4608 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "" "в рамках операции с ограничениями по безопасности нельзя вызвать отложенный " "триггер" -#: commands/trigger.c:5787 +#: commands/trigger.c:5789 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "ограничение \"%s\" не является откладываемым" -#: commands/trigger.c:5810 +#: commands/trigger.c:5812 #, c-format msgid "constraint \"%s\" does not exist" msgstr "ограничение \"%s\" не существует" @@ -14619,26 +14624,26 @@ 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/execExprInterp.c:4350 executor/nodeModifyTable.c:205 +#: executor/nodeModifyTable.c:216 executor/nodeModifyTable.c:233 +#: executor/nodeModifyTable.c:241 #, 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:638 executor/nodeModifyTable.c:206 #, c-format msgid "Query has too many columns." msgstr "Запрос возвращает больше столбцов." -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:645 executor/nodeModifyTable.c:234 #, 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/nodeModifyTable.c:217 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "" @@ -14669,7 +14674,7 @@ msgstr[0] "функции нельзя передать больше %d аргу msgstr[1] "функции нельзя передать больше %d аргументов" msgstr[2] "функции нельзя передать больше %d аргументов" -#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1067 +#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1068 #: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" @@ -14733,8 +14738,8 @@ msgstr "" #: 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 +#: utils/adt/arrayfuncs.c:3539 utils/adt/arrayfuncs.c:5623 +#: utils/adt/arrayfuncs.c:6140 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" @@ -14752,11 +14757,11 @@ msgstr "" #: 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 +#: utils/adt/arrayfuncs.c:2931 utils/adt/arrayfuncs.c:2985 +#: utils/adt/arrayfuncs.c:3000 utils/adt/arrayfuncs.c:3341 +#: utils/adt/arrayfuncs.c:3569 utils/adt/arrayfuncs.c:6232 +#: utils/adt/arrayfuncs.c:6573 utils/adt/arrayutils.c:98 +#: utils/adt/arrayutils.c:107 utils/adt/arrayutils.c:114 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "размер массива превышает предел (%d)" @@ -14840,14 +14845,14 @@ msgstr "последовательность \"%s\" изменить нельз msgid "cannot change TOAST relation \"%s\"" msgstr "TOAST-отношение \"%s\" изменить нельзя" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 -#: rewrite/rewriteHandler.c:3966 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3083 +#: rewrite/rewriteHandler.c:3973 #, c-format msgid "cannot insert into view \"%s\"" msgstr "вставить данные в представление \"%s\" нельзя" -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 -#: rewrite/rewriteHandler.c:3969 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3086 +#: rewrite/rewriteHandler.c:3976 #, c-format msgid "" "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or " @@ -14856,14 +14861,14 @@ msgstr "" "Чтобы представление допускало добавление данных, установите триггер INSTEAD " "OF INSERT или безусловное правило ON INSERT DO INSTEAD." -#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 -#: rewrite/rewriteHandler.c:3974 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3091 +#: rewrite/rewriteHandler.c:3981 #, c-format msgid "cannot update view \"%s\"" msgstr "изменить данные в представлении \"%s\" нельзя" -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 -#: rewrite/rewriteHandler.c:3977 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3094 +#: rewrite/rewriteHandler.c:3984 #, c-format msgid "" "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an " @@ -14872,14 +14877,14 @@ msgstr "" "Чтобы представление допускало изменение данных, установите триггер INSTEAD " "OF UPDATE или безусловное правило ON UPDATE DO INSTEAD." -#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 -#: rewrite/rewriteHandler.c:3982 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3099 +#: rewrite/rewriteHandler.c:3989 #, c-format msgid "cannot delete from view \"%s\"" msgstr "удалить данные из представления \"%s\" нельзя" -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 -#: rewrite/rewriteHandler.c:3985 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3102 +#: rewrite/rewriteHandler.c:3992 #, c-format msgid "" "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an " @@ -15067,8 +15072,8 @@ 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/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3888 +#: utils/adt/arrayfuncs.c:4443 utils/adt/arrayfuncs.c:6453 #: utils/adt/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" @@ -15211,48 +15216,48 @@ 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:1742 executor/spi.c:2648 #, 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:1711 executor/functions.c:1749 +#: executor/functions.c:1763 executor/functions.c:1858 +#: executor/functions.c:1891 executor/functions.c:1905 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "несовпадение типа возврата в функции (в объявлении указан тип %s)" -#: executor/functions.c:1712 +#: executor/functions.c:1713 #, c-format msgid "" "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." @@ -15260,32 +15265,32 @@ msgstr "" "Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE " "RETURNING." -#: executor/functions.c:1750 +#: executor/functions.c:1751 #, c-format msgid "Final statement must return exactly one column." msgstr "Последний оператор должен возвращать один столбец." -#: executor/functions.c:1764 +#: executor/functions.c:1765 #, c-format msgid "Actual return type is %s." msgstr "Фактический тип возврата: %s." -#: executor/functions.c:1859 +#: executor/functions.c:1860 #, c-format msgid "Final statement returns too many columns." msgstr "Последний оператор возвращает слишком много столбцов." -#: executor/functions.c:1892 +#: executor/functions.c:1893 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Последний оператор возвращает %s вместо %s для столбца %d." -#: executor/functions.c:1906 +#: executor/functions.c:1907 #, c-format msgid "Final statement returns too few columns." msgstr "Последний оператор возвращает слишком мало столбцов." -#: executor/functions.c:1934 +#: executor/functions.c:1935 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "для SQL-функций тип возврата %s не поддерживается" @@ -15306,7 +15311,7 @@ msgstr "вложенные вызовы агрегатных функций не msgid "custom scan \"%s\" does not support MarkPos" msgstr "нестандартное сканирование \"%s\" не поддерживает MarkPos" -#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1144 executor/nodeHashjoin.c:1174 #, c-format msgid "could not rewind hash-join temporary file" msgstr "не удалось переместиться во временном файле хеш-соединения" @@ -15328,25 +15333,25 @@ msgstr "OFFSET не может быть отрицательным" msgid "LIMIT must not be negative" msgstr "LIMIT не может быть отрицательным" -#: executor/nodeMergejoin.c:1579 +#: executor/nodeMergejoin.c:1580 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "" "RIGHT JOIN поддерживается только с условиями, допускающими соединение " "слиянием" -#: executor/nodeMergejoin.c:1597 +#: executor/nodeMergejoin.c:1598 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "" "FULL JOIN поддерживается только с условиями, допускающими соединение слиянием" -#: executor/nodeModifyTable.c:234 +#: executor/nodeModifyTable.c:242 #, c-format msgid "Query has too few columns." msgstr "Запрос возвращает меньше столбцов." -#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608 +#: executor/nodeModifyTable.c:1542 executor/nodeModifyTable.c:1616 #, c-format msgid "" "tuple to be deleted was already modified by an operation triggered by the " @@ -15355,12 +15360,12 @@ msgstr "" "кортеж, который должен быть удалён, уже модифицирован в операции, вызванной " "текущей командой" -#: executor/nodeModifyTable.c:1763 +#: executor/nodeModifyTable.c:1771 #, c-format msgid "invalid ON UPDATE specification" msgstr "неверное указание ON UPDATE" -#: executor/nodeModifyTable.c:1764 +#: executor/nodeModifyTable.c:1772 #, c-format msgid "" "The result tuple would appear in a different partition than the original " @@ -15369,7 +15374,7 @@ msgstr "" "Результирующий кортеж окажется перемещённым из секции исходного кортежа в " "другую." -#: executor/nodeModifyTable.c:2223 +#: executor/nodeModifyTable.c:2231 #, c-format msgid "" "cannot move tuple across partitions when a non-root ancestor of the source " @@ -15378,26 +15383,26 @@ msgstr "" "нельзя переместить кортеж между секциями, когда внешний ключ непосредственно " "ссылается на предка исходной секции, который не является корнем иерархии" -#: executor/nodeModifyTable.c:2224 +#: executor/nodeModifyTable.c:2232 #, 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:2235 #, 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:2582 executor/nodeModifyTable.c:3005 +#: executor/nodeModifyTable.c:3132 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не может подействовать на строку дважды" -#: executor/nodeModifyTable.c:2575 +#: executor/nodeModifyTable.c:2584 #, c-format msgid "" "Ensure that no rows proposed for insertion within the same command have " @@ -15406,7 +15411,7 @@ msgstr "" "Проверьте, не содержат ли строки, которые должна добавить команда, " "дублирующиеся значения, подпадающие под ограничения." -#: executor/nodeModifyTable.c:2989 executor/nodeModifyTable.c:3116 +#: executor/nodeModifyTable.c:2998 executor/nodeModifyTable.c:3125 #, c-format msgid "" "tuple to be updated or deleted was already modified by an operation " @@ -15415,14 +15420,14 @@ msgstr "" "кортеж, который должен быть изменён или удалён, уже модифицирован в " "операции, вызванной текущей командой" -#: executor/nodeModifyTable.c:2998 executor/nodeModifyTable.c:3125 +#: executor/nodeModifyTable.c:3007 executor/nodeModifyTable.c:3134 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "" "Проверьте, не может ли какой-либо целевой строке соответствовать более одной " "исходной строки." -#: executor/nodeModifyTable.c:3080 +#: executor/nodeModifyTable.c:3089 #, c-format msgid "" "tuple to be deleted was already moved to another partition due to concurrent " @@ -15555,28 +15560,28 @@ msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не поддерживает msgid "Scrollable cursors must be READ ONLY." msgstr "Прокручиваемые курсоры должны быть READ ONLY." -#: executor/spi.c:2474 +#: executor/spi.c:2487 #, 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:2561 #, c-format msgid "%s query does not return tuples" msgstr "запрос %s не возвращает кортежи" -#: executor/spi.c:2963 +#: executor/spi.c:2975 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-выражение \"%s\"" -#: executor/spi.c:2968 +#: executor/spi.c:2980 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "присваивание PL/pgSQL \"%s\"" -#: executor/spi.c:2971 +#: executor/spi.c:2983 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-оператор: \"%s\"" @@ -16598,29 +16603,29 @@ msgstr "не удалось задать диапазон версий прот msgid "\"%s\" cannot be higher than \"%s\"" msgstr "Версия \"%s\" не может быть выше \"%s\"" -#: libpq/be-secure-openssl.c:285 +#: libpq/be-secure-openssl.c:297 #, 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:317 #, 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:366 #, 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:374 #, 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:382 #, c-format msgid "" "could not load SSL certificate revocation list file \"%s\" or directory " @@ -16629,38 +16634,38 @@ msgstr "" "не удалось загрузить списки отзыва сертификатов SSL из файла \"%s\" или " "каталога \"%s\": %s" -#: libpq/be-secure-openssl.c:428 +#: libpq/be-secure-openssl.c:440 #, 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:451 #, c-format msgid "could not initialize SSL connection: %s" msgstr "инициализировать SSL-подключение не удалось: %s" -#: libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:459 #, c-format msgid "could not set SSL socket: %s" msgstr "не удалось создать SSL-сокет: %s" -#: libpq/be-secure-openssl.c:503 +#: libpq/be-secure-openssl.c:515 #, 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:519 libpq/be-secure-openssl.c:574 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "не удалось принять SSL-подключение: обрыв данных" -#: libpq/be-secure-openssl.c:546 +#: libpq/be-secure-openssl.c:558 #, c-format msgid "could not accept SSL connection: %s" msgstr "не удалось принять SSL-подключение: %s" -#: libpq/be-secure-openssl.c:550 +#: libpq/be-secure-openssl.c:562 #, c-format msgid "" "This may indicate that the client does not support any SSL protocol version " @@ -16669,60 +16674,60 @@ 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:579 libpq/be-secure-openssl.c:768 +#: libpq/be-secure-openssl.c:838 #, c-format msgid "unrecognized SSL error code: %d" msgstr "нераспознанный код ошибки SSL: %d" -#: libpq/be-secure-openssl.c:613 +#: libpq/be-secure-openssl.c:625 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Имя SSL-сертификата включает нулевой байт" -#: libpq/be-secure-openssl.c:659 +#: libpq/be-secure-openssl.c:671 #, 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:757 libpq/be-secure-openssl.c:822 #, c-format msgid "SSL error: %s" msgstr "ошибка SSL: %s" -#: libpq/be-secure-openssl.c:987 +#: libpq/be-secure-openssl.c:999 #, 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:1011 #, c-format msgid "could not load DH parameters file: %s" msgstr "не удалось загрузить файл параметров DH: %s" -#: libpq/be-secure-openssl.c:1009 +#: libpq/be-secure-openssl.c:1021 #, c-format msgid "invalid DH parameters: %s" msgstr "неверные параметры DH: %s" -#: libpq/be-secure-openssl.c:1018 +#: libpq/be-secure-openssl.c:1030 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "неверные параметры DH: p - не простое число" -#: libpq/be-secure-openssl.c:1027 +#: libpq/be-secure-openssl.c:1039 #, 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:1175 #, 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:1212 #, c-format msgid "" "Failed certificate data (unverified): subject \"%s\", serial number %s, " @@ -16731,50 +16736,50 @@ msgstr "" "Данные ошибочного сертификата (непроверенные): субъект \"%s\", серийный " "номер %s, издатель \"%s\"." -#: libpq/be-secure-openssl.c:1201 +#: libpq/be-secure-openssl.c:1213 msgid "unknown" msgstr "н/д" -#: libpq/be-secure-openssl.c:1292 +#: libpq/be-secure-openssl.c:1304 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: не удалось загрузить параметры DH" -#: libpq/be-secure-openssl.c:1300 +#: libpq/be-secure-openssl.c:1312 #, 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:1339 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: нераспознанное имя кривой: %s" -#: libpq/be-secure-openssl.c:1336 +#: libpq/be-secure-openssl.c:1348 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: не удалось создать ключ" -#: libpq/be-secure-openssl.c:1364 +#: libpq/be-secure-openssl.c:1376 msgid "no SSL error reported" msgstr "нет сообщения об ошибке SSL" -#: libpq/be-secure-openssl.c:1381 +#: libpq/be-secure-openssl.c:1394 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: libpq/be-secure-openssl.c:1540 +#: libpq/be-secure-openssl.c:1553 #, c-format msgid "could not create BIO" msgstr "не удалось создать BIO" -#: libpq/be-secure-openssl.c:1550 +#: libpq/be-secure-openssl.c:1563 #, 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:1571 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "не удалось преобразовать NID %d в структуру ASN1_OBJECT" @@ -17847,24 +17852,24 @@ msgstr "" "обращаться к временным или нежурналируемым отношениям в процессе " "восстановления нельзя" -#: optimizer/util/plancat.c:726 +#: optimizer/util/plancat.c:728 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "" "указания со ссылкой на всю строку для выбора уникального индекса не " "поддерживаются" -#: optimizer/util/plancat.c:743 +#: optimizer/util/plancat.c:745 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "ограничению в ON CONFLICT не соответствует индекс" -#: optimizer/util/plancat.c:793 +#: optimizer/util/plancat.c:795 #, 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:905 #, c-format msgid "" "there is no unique or exclusion constraint matching the ON CONFLICT " @@ -19180,27 +19185,27 @@ msgstr "" "рекурсивный запрос \"%s\" должен иметь форму {нерекурсивная часть} UNION " "[ALL] {рекурсивная часть}" -#: parser/parse_cte.c:926 +#: parser/parse_cte.c:917 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:923 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:929 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:935 #, 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:1014 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "рекурсивная ссылка на запрос \"%s\" указана неоднократно" @@ -19342,7 +19347,7 @@ msgstr "в условии COPY FROM WHERE нельзя использовать msgid "cannot use subquery in column generation expression" msgstr "в выражении генерируемого столбца нельзя использовать подзапросы" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3626 #, c-format msgid "subquery must return only one column" msgstr "подзапрос должен вернуть только один столбец" @@ -19487,18 +19492,18 @@ msgstr "Для JSON поддерживается только кодировка 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:3710 parser/parse_func.c:865 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано" -#: parser/parse_expr.c:3934 +#: parser/parse_expr.c:3933 #, 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:3953 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "в предикате IS JSON нельзя использовать тип %s" @@ -20327,74 +20332,74 @@ 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:583 #, 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:662 parser/parse_utilcmd.c:674 +#: parser/parse_utilcmd.c:733 #, 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:686 #, 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:703 #, c-format msgid "identity columns are not supported on typed tables" msgstr "столбцы идентификации не поддерживаются с типизированными таблицами" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:707 #, c-format msgid "identity columns are not supported on partitions" msgstr "столбцы идентификации не поддерживаются с секциями" -#: parser/parse_utilcmd.c:722 +#: parser/parse_utilcmd.c:716 #, 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:746 #, c-format msgid "generated columns are not supported on typed tables" msgstr "генерируемые столбцы не поддерживаются с типизированными таблицами" -#: parser/parse_utilcmd.c:756 +#: parser/parse_utilcmd.c:750 #, 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:768 parser/parse_utilcmd.c:883 #, 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:777 parser/parse_utilcmd.c:893 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "ограничения уникальности для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:828 +#: parser/parse_utilcmd.c:822 #, 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:830 #, c-format msgid "" "both default and generation expression specified for column \"%s\" of table " @@ -20403,7 +20408,7 @@ msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и " "генерирующее выражение" -#: parser/parse_utilcmd.c:844 +#: parser/parse_utilcmd.c:838 #, c-format msgid "" "both identity and generation expression specified for column \"%s\" of table " @@ -20412,93 +20417,93 @@ msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и генерирующее выражение, и " "свойство identity" -#: parser/parse_utilcmd.c:909 +#: parser/parse_utilcmd.c:903 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "ограничения-исключения для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:915 +#: parser/parse_utilcmd.c:909 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "ограничения-исключения для секционированных таблиц не поддерживаются" -#: parser/parse_utilcmd.c:980 +#: parser/parse_utilcmd.c:974 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE при создании сторонних таблиц не поддерживается" -#: parser/parse_utilcmd.c:993 +#: parser/parse_utilcmd.c:987 #, 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:1746 parser/parse_utilcmd.c:1854 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы." -#: parser/parse_utilcmd.c:2245 +#: parser/parse_utilcmd.c:2252 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "в CREATE TABLE нельзя использовать существующий индекс" -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2272 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "индекс \"%s\" уже связан с ограничением" -#: parser/parse_utilcmd.c:2286 +#: parser/parse_utilcmd.c:2293 #, 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:2294 parser/parse_utilcmd.c:2301 +#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 #, 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:2300 #, c-format msgid "index \"%s\" contains expressions" msgstr "индекс \"%s\" содержит выражения" -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2307 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" - частичный индекс" -#: parser/parse_utilcmd.c:2312 +#: parser/parse_utilcmd.c:2319 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" - откладываемый индекс" -#: parser/parse_utilcmd.c:2313 +#: parser/parse_utilcmd.c:2320 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "" "Создать не откладываемое ограничение на базе откладываемого индекса нельзя." -#: parser/parse_utilcmd.c:2377 +#: parser/parse_utilcmd.c:2384 #, 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:2541 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "столбец \"%s\" фигурирует в первичном ключе дважды" -#: parser/parse_utilcmd.c:2540 +#: parser/parse_utilcmd.c:2547 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "столбец \"%s\" фигурирует в ограничении уникальности дважды" -#: parser/parse_utilcmd.c:2887 +#: parser/parse_utilcmd.c:2881 #, c-format msgid "" "index expressions and predicates can refer only to the table being indexed" @@ -20506,22 +20511,22 @@ msgstr "" "индексные выражения и предикаты могут ссылаться только на индексируемую " "таблицу" -#: parser/parse_utilcmd.c:2959 +#: parser/parse_utilcmd.c:2953 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "выражения статистики могут ссылаться только на целевую таблицу" -#: parser/parse_utilcmd.c:3002 +#: parser/parse_utilcmd.c:2996 #, c-format msgid "rules on materialized views are not supported" msgstr "правила для материализованных представлений не поддерживаются" -#: parser/parse_utilcmd.c:3062 +#: parser/parse_utilcmd.c:3056 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения" -#: parser/parse_utilcmd.c:3134 +#: parser/parse_utilcmd.c:3128 #, c-format msgid "" "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE " @@ -20530,158 +20535,158 @@ msgstr "" "правила с условиями WHERE могут содержать только действия SELECT, INSERT, " "UPDATE или DELETE" -#: parser/parse_utilcmd.c:3152 parser/parse_utilcmd.c:3253 +#: parser/parse_utilcmd.c:3146 parser/parse_utilcmd.c:3247 #: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "условные операторы UNION/INTERSECT/EXCEPT не реализованы" -#: parser/parse_utilcmd.c:3170 +#: parser/parse_utilcmd.c:3164 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "в правиле ON SELECT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3168 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "в правиле ON SELECT нельзя использовать NEW" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3177 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "в правиле ON INSERT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3189 +#: parser/parse_utilcmd.c:3183 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "в правиле ON DELETE нельзя использовать NEW" -#: parser/parse_utilcmd.c:3217 +#: parser/parse_utilcmd.c:3211 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "в запросе WITH нельзя ссылаться на OLD" -#: parser/parse_utilcmd.c:3224 +#: parser/parse_utilcmd.c:3218 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "в запросе WITH нельзя ссылаться на NEW" -#: parser/parse_utilcmd.c:3676 +#: parser/parse_utilcmd.c:3666 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "предложение DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3681 parser/parse_utilcmd.c:3696 +#: parser/parse_utilcmd.c:3671 parser/parse_utilcmd.c:3686 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз" -#: parser/parse_utilcmd.c:3691 +#: parser/parse_utilcmd.c:3681 #, 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:3694 parser/parse_utilcmd.c:3720 gram.y:5990 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "" "ограничение с характеристикой INITIALLY DEFERRED должно быть объявлено как " "DEFERRABLE" -#: parser/parse_utilcmd.c:3712 +#: parser/parse_utilcmd.c:3702 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "предложение INITIALLY DEFERRED расположено неправильно" -#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: parser/parse_utilcmd.c:3707 parser/parse_utilcmd.c:3733 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз" -#: parser/parse_utilcmd.c:3738 +#: parser/parse_utilcmd.c:3728 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "предложение INITIALLY IMMEDIATE расположено неправильно" -#: parser/parse_utilcmd.c:3931 +#: parser/parse_utilcmd.c:3921 #, 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:3956 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" — не секционированная таблица" -#: parser/parse_utilcmd.c:3973 +#: parser/parse_utilcmd.c:3963 #, c-format msgid "table \"%s\" is not partitioned" msgstr "таблица \"%s\" не является секционированной" -#: parser/parse_utilcmd.c:3980 +#: parser/parse_utilcmd.c:3970 #, c-format msgid "index \"%s\" is not partitioned" msgstr "индекс \"%s\" не секционирован" -#: parser/parse_utilcmd.c:4020 +#: parser/parse_utilcmd.c:4010 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у секционированной по хешу таблицы не может быть секции по умолчанию" -#: parser/parse_utilcmd.c:4037 +#: parser/parse_utilcmd.c:4027 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неправильное указание ограничения для хеш-секции" -#: parser/parse_utilcmd.c:4043 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4033 partitioning/partbounds.c:4803 #, 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:4040 partitioning/partbounds.c:4811 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "остаток для хеш-секции должен быть меньше модуля" -#: parser/parse_utilcmd.c:4063 +#: parser/parse_utilcmd.c:4053 #, c-format msgid "invalid bound specification for a list partition" msgstr "неправильное указание ограничения для секции по списку" -#: parser/parse_utilcmd.c:4116 +#: parser/parse_utilcmd.c:4106 #, c-format msgid "invalid bound specification for a range partition" msgstr "неправильное указание ограничения для секции по диапазону" -#: parser/parse_utilcmd.c:4122 +#: parser/parse_utilcmd.c:4112 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "" "во FROM должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4126 +#: parser/parse_utilcmd.c:4116 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "" "в TO должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4240 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "указать NULL в диапазонном ограничении нельзя" -#: parser/parse_utilcmd.c:4289 +#: parser/parse_utilcmd.c:4279 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за границей MAXVALUE могут следовать только границы MAXVALUE" -#: parser/parse_utilcmd.c:4296 +#: parser/parse_utilcmd.c:4286 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за границей MINVALUE могут следовать только границы MINVALUE" -#: parser/parse_utilcmd.c:4339 +#: parser/parse_utilcmd.c:4329 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "указанное значение нельзя привести к типу %s столбца \"%s\"" @@ -20694,12 +20699,12 @@ msgstr "За UESCAPE должна следовать простая строко msgid "invalid Unicode escape character" msgstr "неверный символ спецкода Unicode" -#: parser/parser.c:347 scan.l:1390 +#: parser/parser.c:347 scan.l:1391 #, 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:6505 scan.l:702 #, c-format msgid "invalid Unicode escape" msgstr "неверный спецкод Unicode" @@ -20709,8 +20714,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:6530 scan.l:663 scan.l:679 +#: scan.l:695 #, c-format msgid "invalid Unicode surrogate pair" msgstr "неверная суррогатная пара Unicode" @@ -22214,9 +22219,9 @@ 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 +#: replication/slot.c:1297 storage/lmgr/lock.c:998 storage/lmgr/lock.c:1036 +#: storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4206 storage/lmgr/lock.c:4271 +#: storage/lmgr/lock.c:4621 storage/lmgr/predicate.c:2413 #: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 #, c-format msgid "You might need to increase %s." @@ -22252,18 +22257,18 @@ msgstr "для логического декодирования требует msgid "logical decoding requires a database connection" msgstr "для логического декодирования требуется подключение к БД" -#: replication/logical/logical.c:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:366 replication/logical/logical.c:520 #, 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:371 replication/logical/logical.c:525 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "слот репликации \"%s\" создан не в этой базе данных" -#: replication/logical/logical.c:375 +#: replication/logical/logical.c:378 #, c-format msgid "" "cannot create logical replication slot in transaction that has performed " @@ -22271,12 +22276,12 @@ msgid "" msgstr "" "нельзя создать слот логической репликации в транзакции, осуществляющей запись" -#: replication/logical/logical.c:534 replication/logical/logical.c:541 +#: replication/logical/logical.c:537 replication/logical/logical.c:544 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "из слота репликации \"%s\" больше нельзя получать изменения" -#: replication/logical/logical.c:536 +#: replication/logical/logical.c:539 #, c-format msgid "" "This slot has been invalidated because it exceeded the maximum reserved size." @@ -22284,48 +22289,48 @@ msgstr "" "Этот слот был аннулирован из-за превышения максимального зарезервированного " "размера." -#: replication/logical/logical.c:543 +#: replication/logical/logical.c:546 #, c-format msgid "" "This slot has been invalidated because it was conflicting with recovery." msgstr "Этот слот был аннулирован из-за конфликта с восстановлением." -#: replication/logical/logical.c:608 +#: replication/logical/logical.c:611 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "начинается логическое декодирование для слота \"%s\"" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:613 #, 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:761 #, 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:767 #, 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:938 replication/logical/logical.c:983 +#: replication/logical/logical.c:1028 replication/logical/logical.c:1074 #, 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:1306 replication/logical/logical.c:1355 +#: replication/logical/logical.c:1396 replication/logical/logical.c:1482 +#: replication/logical/logical.c:1531 #, c-format msgid "logical streaming requires a %s callback" msgstr "для логической потоковой репликации требуется обработчик %s" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1441 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "" @@ -22562,63 +22567,63 @@ 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:1392 replication/logical/snapbuild.c:1489 +#: replication/logical/snapbuild.c:2005 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "процесс логического декодирования достиг точки согласованности в %X/%X" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1394 #, c-format msgid "There are no running transactions." msgstr "Больше активных транзакций нет." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1441 #, 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:1443 replication/logical/snapbuild.c:1467 #, 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:1465 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "" "при логическом декодировании найдена начальная точка согласованности в %X/%X" -#: replication/logical/snapbuild.c:1482 +#: replication/logical/snapbuild.c:1491 #, c-format msgid "There are no old transactions anymore." msgstr "Больше старых транзакций нет." -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1892 #, 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:1898 #, 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:1939 #, 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:2007 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Логическое декодирование начнётся с сохранённого снимка." -#: replication/logical/snapbuild.c:2105 +#: replication/logical/snapbuild.c:2114 #, c-format msgid "could not parse file name \"%s\"" msgstr "не удалось разобрать имя файла \"%s\"" @@ -23733,7 +23738,7 @@ msgstr "столбцу \"%s\" можно присвоить только зна msgid "multiple assignments to same column \"%s\"" msgstr "многочисленные присвоения одному столбцу \"%s\"" -#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4047 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\"" @@ -23826,17 +23831,17 @@ msgstr "" "Представления, не содержащие обновляемых столбцов, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:3155 +#: rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3163 +#: rewrite/rewriteHandler.c:3176 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3667 +#: rewrite/rewriteHandler.c:3674 #, c-format msgid "" "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in " @@ -23845,7 +23850,7 @@ msgstr "" "правила DO INSTEAD NOTIFY не поддерживаются в операторах, изменяющих данные, " "в WITH" -#: rewrite/rewriteHandler.c:3678 +#: rewrite/rewriteHandler.c:3685 #, c-format msgid "" "DO INSTEAD NOTHING rules are not supported for data-modifying statements in " @@ -23854,7 +23859,7 @@ msgstr "" "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3692 +#: rewrite/rewriteHandler.c:3699 #, c-format msgid "" "conditional DO INSTEAD rules are not supported for data-modifying statements " @@ -23863,13 +23868,13 @@ msgstr "" "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3696 +#: rewrite/rewriteHandler.c:3703 #, 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:3708 #, c-format msgid "" "multi-statement DO INSTEAD rules are not supported for data-modifying " @@ -23878,8 +23883,8 @@ msgstr "" "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 -#: rewrite/rewriteHandler.c:3984 +#: rewrite/rewriteHandler.c:3975 rewrite/rewriteHandler.c:3983 +#: rewrite/rewriteHandler.c:3991 #, c-format msgid "" "Views with conditional DO INSTEAD rules are not automatically updatable." @@ -23887,43 +23892,43 @@ msgstr "" "Представления в сочетании с правилами DO INSTEAD с условиями не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:4089 +#: rewrite/rewriteHandler.c:4096 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4091 +#: rewrite/rewriteHandler.c:4098 #, 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:4103 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4098 +#: rewrite/rewriteHandler.c:4105 #, 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:4110 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4105 +#: rewrite/rewriteHandler.c:4112 #, 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:4130 #, c-format msgid "" "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or " @@ -23932,7 +23937,7 @@ msgstr "" "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для " "которой заданы правила INSERT или UPDATE" -#: rewrite/rewriteHandler.c:4180 +#: rewrite/rewriteHandler.c:4187 #, c-format msgid "" "WITH cannot be used in a query that is rewritten by rules into multiple " @@ -24354,18 +24359,18 @@ msgstr "не удалось закрыть сегмент разделяемой msgid "could not duplicate handle for \"%s\": %m" msgstr "не удалось продублировать указатель для \"%s\": %m" -#: storage/ipc/procarray.c:3795 +#: storage/ipc/procarray.c:3807 #, 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:3843 storage/ipc/procarray.c:3851 #: 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:3844 storage/ipc/signalfuncs.c:236 #, c-format msgid "" "Only roles with the %s attribute may terminate processes of roles with the " @@ -24374,7 +24379,7 @@ msgstr "" "Только роли с атрибутом %s могут завершать процессы, принадлежащие ролям с " "атрибутом %s." -#: storage/ipc/procarray.c:3837 storage/ipc/signalfuncs.c:243 +#: storage/ipc/procarray.c:3852 storage/ipc/signalfuncs.c:243 #, c-format msgid "" "Only roles with privileges of the role whose process is being terminated or " @@ -24401,9 +24406,9 @@ msgstr "" 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/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:997 +#: storage/lmgr/lock.c:1035 storage/lmgr/lock.c:2820 storage/lmgr/lock.c:4205 +#: storage/lmgr/lock.c:4270 storage/lmgr/lock.c:4620 #: 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 @@ -24610,113 +24615,113 @@ msgstr "обнаружена взаимоблокировка" msgid "See server log for query details." msgstr "Подробности запроса смотрите в протоколе сервера." -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:853 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "при изменении кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:862 +#: storage/lmgr/lmgr.c:856 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "при удалении кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:865 +#: storage/lmgr/lmgr.c:859 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "при блокировке кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:868 +#: storage/lmgr/lmgr.c:862 #, 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:865 #, 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:868 #, 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:871 #, 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:874 #, 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:1206 #, c-format msgid "relation %u of database %u" msgstr "отношение %u базы данных %u" -#: storage/lmgr/lmgr.c:1218 +#: storage/lmgr/lmgr.c:1212 #, c-format msgid "extension of relation %u of database %u" msgstr "расширение отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1224 +#: storage/lmgr/lmgr.c:1218 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid базы %u" -#: storage/lmgr/lmgr.c:1229 +#: storage/lmgr/lmgr.c:1223 #, c-format msgid "page %u of relation %u of database %u" msgstr "страница %u отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1236 +#: storage/lmgr/lmgr.c:1230 #, 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:1238 #, c-format msgid "transaction %u" msgstr "транзакция %u" -#: storage/lmgr/lmgr.c:1249 +#: storage/lmgr/lmgr.c:1243 #, c-format msgid "virtual transaction %d/%u" msgstr "виртуальная транзакция %d/%u" -#: storage/lmgr/lmgr.c:1255 +#: storage/lmgr/lmgr.c:1249 #, c-format msgid "speculative token %u of transaction %u" msgstr "спекулятивный маркер %u транзакции %u" -#: storage/lmgr/lmgr.c:1261 +#: storage/lmgr/lmgr.c:1255 #, c-format msgid "object %u of class %u of database %u" msgstr "объект %u класса %u базы данных %u" -#: storage/lmgr/lmgr.c:1269 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "user lock [%u,%u,%u]" msgstr "пользовательская блокировка [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1276 +#: storage/lmgr/lmgr.c:1270 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "рекомендательная блокировка [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1284 +#: storage/lmgr/lmgr.c:1278 #, 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:1285 #, c-format msgid "unrecognized locktag type %d" msgstr "нераспознанный тип блокировки %d" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:825 #, c-format msgid "" "cannot acquire lock mode %s on database objects while recovery is in progress" @@ -24724,7 +24729,7 @@ msgstr "" "пока выполняется восстановление, нельзя получить блокировку объектов базы " "данных в режиме %s" -#: storage/lmgr/lock.c:793 +#: storage/lmgr/lock.c:827 #, c-format msgid "" "Only RowExclusiveLock or less can be acquired on database objects during " @@ -24733,7 +24738,7 @@ msgstr "" "В процессе восстановления для объектов базы данных может быть получена " "только блокировка RowExclusiveLock или менее сильная." -#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 +#: storage/lmgr/lock.c:3269 storage/lmgr/lock.c:3337 storage/lmgr/lock.c:3453 #, c-format msgid "" "cannot PREPARE while holding both session-level and transaction-level locks " @@ -25864,7 +25869,7 @@ msgstr "тип входных данных не является массиво #: 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/int8.c:1272 utils/adt/numeric.c:1916 utils/adt/numeric.c:4403 #: 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 @@ -25908,7 +25913,7 @@ 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/arrayfuncs.c:5646 utils/adt/arrayfuncs.c:5652 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "аккумулировать массивы различной размерности нельзя" @@ -25959,8 +25964,8 @@ msgstr "Отсутствует значение размерности масс 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:309 utils/adt/arrayfuncs.c:2976 +#: utils/adt/arrayfuncs.c:3021 utils/adt/arrayfuncs.c:3036 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "верхняя граница не может быть меньше нижней" @@ -26016,8 +26021,8 @@ msgstr "" msgid "Junk after closing right brace." msgstr "Мусор после закрывающей фигурной скобки." -#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3528 -#: utils/adt/arrayfuncs.c:6129 +#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3535 +#: utils/adt/arrayfuncs.c:6136 #, c-format msgid "invalid number of dimensions: %d" msgstr "неверное число размерностей: %d" @@ -26058,8 +26063,8 @@ 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/arrayfuncs.c:2951 utils/adt/arrayfuncs.c:6122 +#: utils/adt/arrayfuncs.c:6148 utils/adt/arrayfuncs.c:6159 #: 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 @@ -26068,7 +26073,7 @@ 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:2689 utils/adt/arrayfuncs.c:3026 #, c-format msgid "array subscript out of range" msgstr "индекс массива вне диапазона" @@ -26097,85 +26102,85 @@ msgstr "" "При присвоении значений срезу в пустом массиве, должны полностью задаваться " "обе границы." -#: utils/adt/arrayfuncs.c:2934 utils/adt/arrayfuncs.c:3046 +#: utils/adt/arrayfuncs.c:2941 utils/adt/arrayfuncs.c:3053 #, c-format msgid "source array too small" msgstr "исходный массив слишком мал" -#: utils/adt/arrayfuncs.c:3686 +#: utils/adt/arrayfuncs.c:3693 #, 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:3864 utils/adt/arrayfuncs.c:4035 +#: utils/adt/arrayfuncs.c:4426 #, c-format msgid "cannot compare arrays of different element types" msgstr "нельзя сравнивать массивы с элементами разных типов" -#: utils/adt/arrayfuncs.c:4206 utils/adt/multirangetypes.c:2806 +#: utils/adt/arrayfuncs.c:4213 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 #, 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:4341 utils/adt/rowtypes.c:2006 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "не удалось найти функцию расширенного хеширования для типа %s" -#: utils/adt/arrayfuncs.c:5529 +#: utils/adt/arrayfuncs.c:5536 #, c-format msgid "data type %s is not an array type" msgstr "тип данных %s не является типом массива" -#: utils/adt/arrayfuncs.c:5584 +#: utils/adt/arrayfuncs.c:5591 #, c-format msgid "cannot accumulate null arrays" msgstr "аккумулировать NULL-массивы нельзя" -#: utils/adt/arrayfuncs.c:5612 +#: utils/adt/arrayfuncs.c:5619 #, c-format msgid "cannot accumulate empty arrays" msgstr "аккумулировать пустые массивы нельзя" -#: utils/adt/arrayfuncs.c:6013 utils/adt/arrayfuncs.c:6053 +#: utils/adt/arrayfuncs.c:6020 utils/adt/arrayfuncs.c:6060 #, 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:6123 utils/adt/arrayfuncs.c:6149 #, c-format msgid "Dimension array must be one dimensional." msgstr "Массив размерностей должен быть одномерным." -#: utils/adt/arrayfuncs.c:6121 utils/adt/arrayfuncs.c:6147 +#: utils/adt/arrayfuncs.c:6128 utils/adt/arrayfuncs.c:6154 #, c-format msgid "dimension values cannot be null" msgstr "значения размерностей не могут быть null" -#: utils/adt/arrayfuncs.c:6153 +#: utils/adt/arrayfuncs.c:6160 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "Массив нижних границ и массив размерностей имеют разные размеры." -#: utils/adt/arrayfuncs.c:6431 +#: utils/adt/arrayfuncs.c:6438 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "удаление элементов из многомерных массивов не поддерживается" -#: utils/adt/arrayfuncs.c:6708 +#: utils/adt/arrayfuncs.c:6715 #, c-format msgid "thresholds must be one-dimensional array" msgstr "границы должны задаваться одномерным массивом" -#: utils/adt/arrayfuncs.c:6713 +#: utils/adt/arrayfuncs.c:6720 #, c-format msgid "thresholds array must not contain NULLs" msgstr "массив границ не должен содержать NULL" -#: utils/adt/arrayfuncs.c:6946 +#: utils/adt/arrayfuncs.c:6953 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "число удаляемых элементов должно быть от 0 до %d" @@ -26216,7 +26221,7 @@ 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/bool.c:153 utils/adt/cash.c:354 utils/adt/datetime.c:4028 #: 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/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 @@ -26224,8 +26229,8 @@ msgstr "преобразование кодировки из %s в ASCII не п #: 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/network.c:99 utils/adt/numeric.c:802 utils/adt/numeric.c:7151 +#: utils/adt/numeric.c:7354 utils/adt/numeric.c:8301 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 @@ -26235,29 +26240,33 @@ msgstr "преобразование кодировки из %s в ASCII не п 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: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:3190 utils/adt/numeric.c:3213 utils/adt/numeric.c:3298 +#: utils/adt/numeric.c:3316 utils/adt/numeric.c:3412 utils/adt/numeric.c:8850 +#: utils/adt/numeric.c:9163 utils/adt/numeric.c:9511 utils/adt/numeric.c:9627 +#: utils/adt/numeric.c:11138 utils/adt/timestamp.c:3442 #, 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: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 +#, 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" @@ -26292,7 +26301,7 @@ 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/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2512 #, c-format msgid "date out of range" msgstr "дата вне диапазона" @@ -26363,8 +26372,8 @@ msgstr "единица \"%s\" для типа %s не распознана" #: 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/timestamp.c:5805 utils/adt/timestamp.c:5839 utils/adt/xml.c:2534 +#: utils/adt/xml.c:2541 utils/adt/xml.c:2561 utils/adt/xml.c:2568 #, c-format msgid "timestamp out of range" msgstr "timestamp вне диапазона" @@ -26381,7 +26390,7 @@ msgstr "значение поля типа time вне диапазона: %d:%0 #: 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/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2594 #: utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540 #: utils/adt/timestamp.c:3571 #, c-format @@ -26399,33 +26408,33 @@ 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:3234 utils/adt/datetime.c:4013 +#: utils/adt/datetime.c:4019 utils/adt/timestamp.c:512 #, c-format msgid "time zone \"%s\" not recognized" msgstr "часовой пояс \"%s\" не распознан" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:3987 utils/adt/datetime.c:3994 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "значение поля типа date/time вне диапазона: \"%s\"" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:3996 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Возможно, вам нужно изменить настройку \"datestyle\"." -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4001 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "значение поля interval вне диапазона: \"%s\"" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4007 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "смещение часового пояса вне диапазона: \"%s\"" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4021 #, c-format msgid "" "This time zone name appears in the configuration file for time zone " @@ -26439,17 +26448,17 @@ msgstr "" msgid "invalid Datum pointer" msgstr "неверный указатель Datum" -#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:765 utils/adt/dbsize.c:841 #, c-format msgid "invalid size: \"%s\"" msgstr "некорректная величина: \"%s\"" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:842 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Неверная единица измерения величины: \"%s\"." -#: utils/adt/dbsize.c:839 +#: utils/adt/dbsize.c:843 #, c-format msgid "" "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." @@ -26572,34 +26581,34 @@ msgstr "\"%s\" вне диапазона для типа double precision" #: utils/adt/float.c:1253 utils/adt/float.c:1327 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:1293 utils/adt/numeric.c:4515 utils/adt/numeric.c:4520 #, 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:1453 utils/adt/numeric.c:3708 utils/adt/numeric.c:10042 #, 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:1521 utils/adt/numeric.c:3996 utils/adt/numeric.c:4108 #, 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:1525 utils/adt/numeric.c:4000 utils/adt/numeric.c:10933 #, 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:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3908 +#: utils/adt/numeric.c:10713 #, 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:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3846 +#: utils/adt/numeric.c:3903 utils/adt/numeric.c:10717 #, c-format msgid "cannot take logarithm of a negative number" msgstr "вычислить логарифм отрицательного числа нельзя" @@ -26618,22 +26627,22 @@ msgstr "введённое значение вне диапазона" 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:4095 utils/adt/numeric.c:1856 #, c-format msgid "count must be greater than zero" msgstr "счётчик должен быть больше нуля" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4100 utils/adt/numeric.c:1867 #, 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:4106 utils/adt/numeric.c:1872 #, 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:4172 utils/adt/numeric.c:1886 #, c-format msgid "lower bound cannot equal upper bound" msgstr "нижняя граница не может равняться верхней" @@ -27001,7 +27010,7 @@ 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/int.c:1529 utils/adt/int8.c:1419 utils/adt/numeric.c:1764 #: utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971 #, c-format msgid "step size cannot equal zero" @@ -27016,7 +27025,7 @@ msgstr "размер шага не может быть нулевым" #: 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/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4474 #: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 #: utils/adt/varbit.c:1676 #, c-format @@ -27840,102 +27849,102 @@ 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:792 utils/adt/numeric.c:3658 utils/adt/numeric.c:7146 +#: utils/adt/numeric.c:7349 utils/adt/numeric.c:7821 utils/adt/numeric.c:10516 +#: utils/adt/numeric.c:10991 utils/adt/numeric.c:11085 +#: utils/adt/numeric.c:11220 #, c-format msgid "value overflows numeric format" msgstr "значение переполняет формат numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1105 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "неверный знак во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1111 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "неверный порядок числа во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1120 #, 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:1335 utils/adt/numeric.c:1349 #, 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:1340 #, 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:1358 #, c-format msgid "invalid NUMERIC type modifier" msgstr "неверный модификатор типа NUMERIC" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1724 #, c-format msgid "start value cannot be NaN" msgstr "начальное значение не может быть NaN" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1728 #, c-format msgid "start value cannot be infinity" msgstr "начальное значение не может быть бесконечностью" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1735 #, c-format msgid "stop value cannot be NaN" msgstr "конечное значение не может быть NaN" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1739 #, c-format msgid "stop value cannot be infinity" msgstr "конечное значение не может быть бесконечностью" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1752 #, c-format msgid "step size cannot be NaN" msgstr "размер шага не может быть NaN" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1756 #, c-format msgid "step size cannot be infinity" msgstr "размер шага не может быть бесконечностью" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3648 #, 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:4381 utils/adt/numeric.c:4461 utils/adt/numeric.c:4502 +#: utils/adt/numeric.c:4698 #, 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:4385 utils/adt/numeric.c:4465 utils/adt/numeric.c:4506 +#: utils/adt/numeric.c:4702 #, c-format msgid "cannot convert infinity to %s" msgstr "нельзя представить бесконечность в %s" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4711 #, 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:7911 utils/adt/numeric.c:7962 #, c-format msgid "numeric field overflow" msgstr "переполнение поля numeric" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7912 #, c-format msgid "" "A field with precision %d, scale %d must round to an absolute value less " @@ -27944,7 +27953,7 @@ msgstr "" "Поле с точностью %d, порядком %d должно округляться до абсолютного значения " "меньше чем %s%d." -#: utils/adt/numeric.c:7948 +#: utils/adt/numeric.c:7963 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "" @@ -28699,32 +28708,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 слишком большой" @@ -29119,99 +29128,99 @@ msgstr "" "Возможно, это означает, что используемая версия libxml2 несовместима с " "заголовочными файлами libxml2, с которыми был собран PostgreSQL." -#: utils/adt/xml.c:2199 +#: utils/adt/xml.c:2241 msgid "Invalid character value." msgstr "Неверный символ." -#: utils/adt/xml.c:2202 +#: utils/adt/xml.c:2244 msgid "Space required." msgstr "Требуется пробел." -#: utils/adt/xml.c:2205 +#: utils/adt/xml.c:2247 msgid "standalone accepts only 'yes' or 'no'." msgstr "значениями атрибута standalone могут быть только 'yes' и 'no'." -#: utils/adt/xml.c:2208 +#: utils/adt/xml.c:2250 msgid "Malformed declaration: missing version." msgstr "Ошибочное объявление: не указана версия." -#: utils/adt/xml.c:2211 +#: utils/adt/xml.c:2253 msgid "Missing encoding in text declaration." msgstr "В объявлении не указана кодировка." -#: utils/adt/xml.c:2214 +#: utils/adt/xml.c:2256 msgid "Parsing XML declaration: '?>' expected." msgstr "Ошибка при разборе XML-объявления: ожидается '?>'." -#: utils/adt/xml.c:2217 +#: utils/adt/xml.c:2259 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Нераспознанный код ошибки libxml: %d." -#: utils/adt/xml.c:2471 +#: utils/adt/xml.c:2513 #, 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:2535 utils/adt/xml.c:2562 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML не поддерживает бесконечность в timestamp." -#: utils/adt/xml.c:2936 +#: utils/adt/xml.c:2978 #, c-format msgid "invalid query" msgstr "неверный запрос" -#: utils/adt/xml.c:3028 +#: utils/adt/xml.c:3070 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "портал \"%s\" не возвращает кортежи" -#: utils/adt/xml.c:4280 +#: utils/adt/xml.c:4322 #, c-format msgid "invalid array for XML namespace mapping" msgstr "неправильный массив с сопоставлениями пространств имён XML" -#: utils/adt/xml.c:4281 +#: utils/adt/xml.c:4323 #, 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:4347 #, c-format msgid "empty XPath expression" msgstr "пустое выражение XPath" -#: utils/adt/xml.c:4357 +#: utils/adt/xml.c:4399 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ни префикс, ни URI пространства имён не может быть null" -#: utils/adt/xml.c:4364 +#: utils/adt/xml.c:4406 #, 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:4749 #, c-format msgid "DEFAULT namespace is not supported" msgstr "пространство имён DEFAULT не поддерживается" -#: utils/adt/xml.c:4736 +#: utils/adt/xml.c:4778 #, c-format msgid "row path filter must not be empty string" msgstr "путь отбираемых строк не должен быть пустым" -#: utils/adt/xml.c:4767 +#: utils/adt/xml.c:4809 #, c-format msgid "column path filter must not be empty string" msgstr "путь отбираемого столбца не должен быть пустым" -#: utils/adt/xml.c:4911 +#: utils/adt/xml.c:4953 #, c-format msgid "more than one value returned by column XPath expression" msgstr "выражение XPath, отбирающее столбец, возвратило более одного значения" @@ -29315,97 +29324,97 @@ msgstr "ЛОВУШКА: нарушение Assert(\"%s\"), файл: \"%s\", с msgid "error occurred before error message processing is available\n" msgstr "произошла ошибка до готовности подсистемы обработки сообщений\n" -#: utils/error/elog.c:2096 +#: utils/error/elog.c:2112 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "открыть файл \"%s\" как stderr не удалось: %m" -#: utils/error/elog.c:2109 +#: utils/error/elog.c:2125 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "открыть файл \"%s\" как stdout не удалось: %m" -#: utils/error/elog.c:2145 +#: utils/error/elog.c:2161 #, c-format msgid "invalid character" msgstr "неверный символ" -#: utils/error/elog.c:2851 utils/error/elog.c:2878 utils/error/elog.c:2894 +#: utils/error/elog.c:2867 utils/error/elog.c:2894 utils/error/elog.c:2910 msgid "[unknown]" msgstr "[н/д]" -#: utils/error/elog.c:3167 utils/error/elog.c:3488 utils/error/elog.c:3595 +#: utils/error/elog.c:3183 utils/error/elog.c:3504 utils/error/elog.c:3611 msgid "missing error text" msgstr "отсутствует текст ошибки" -#: utils/error/elog.c:3170 utils/error/elog.c:3173 +#: utils/error/elog.c:3186 utils/error/elog.c:3189 #, c-format msgid " at character %d" msgstr " (символ %d)" -#: utils/error/elog.c:3183 utils/error/elog.c:3190 +#: utils/error/elog.c:3199 utils/error/elog.c:3206 msgid "DETAIL: " msgstr "ПОДРОБНОСТИ: " -#: utils/error/elog.c:3197 +#: utils/error/elog.c:3213 msgid "HINT: " msgstr "ПОДСКАЗКА: " -#: utils/error/elog.c:3204 +#: utils/error/elog.c:3220 msgid "QUERY: " msgstr "ЗАПРОС: " -#: utils/error/elog.c:3211 +#: utils/error/elog.c:3227 msgid "CONTEXT: " msgstr "КОНТЕКСТ: " -#: utils/error/elog.c:3221 +#: utils/error/elog.c:3237 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ПОЛОЖЕНИЕ: %s, %s:%d\n" -#: utils/error/elog.c:3228 +#: utils/error/elog.c:3244 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ПОЛОЖЕНИЕ: %s:%d\n" -#: utils/error/elog.c:3235 +#: utils/error/elog.c:3251 msgid "BACKTRACE: " msgstr "СТЕК: " -#: utils/error/elog.c:3247 +#: utils/error/elog.c:3263 msgid "STATEMENT: " msgstr "ОПЕРАТОР: " -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3656 msgid "DEBUG" msgstr "ОТЛАДКА" -#: utils/error/elog.c:3644 +#: utils/error/elog.c:3660 msgid "LOG" msgstr "СООБЩЕНИЕ" -#: utils/error/elog.c:3647 +#: utils/error/elog.c:3663 msgid "INFO" msgstr "ИНФОРМАЦИЯ" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3666 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: utils/error/elog.c:3654 +#: utils/error/elog.c:3670 msgid "WARNING" msgstr "ПРЕДУПРЕЖДЕНИЕ" -#: utils/error/elog.c:3657 +#: utils/error/elog.c:3673 msgid "ERROR" msgstr "ОШИБКА" -#: utils/error/elog.c:3660 +#: utils/error/elog.c:3676 msgid "FATAL" msgstr "ВАЖНО" -#: utils/error/elog.c:3663 +#: utils/error/elog.c:3679 msgid "PANIC" msgstr "ПАНИКА" @@ -33641,7 +33650,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:209 scan.l:742 msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" @@ -33653,8 +33662,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: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 "мусорное содержимое после числовой константы" @@ -33692,24 +33701,24 @@ msgstr "неверная линия времени %u" msgid "invalid streaming start location" msgstr "неверная позиция начала потока" -#: scan.l:482 +#: scan.l:483 msgid "unterminated /* comment" msgstr "незавершённый комментарий /*" -#: scan.l:502 +#: scan.l:503 msgid "unterminated bit string literal" msgstr "оборванная битовая строка" -#: scan.l:516 +#: scan.l:517 msgid "unterminated hexadecimal string literal" msgstr "оборванная шестнадцатеричная строка" -#: scan.l:566 +#: scan.l:567 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "небезопасное использование строковой константы со спецкодами Unicode" -#: scan.l:567 +#: scan.l:568 #, c-format msgid "" "String constants with Unicode escapes cannot be used when " @@ -33718,22 +33727,22 @@ msgstr "" "Строки со спецкодами Unicode нельзя использовать, когда параметр " "standard_conforming_strings выключен." -#: scan.l:628 +#: scan.l:629 msgid "unhandled previous state in xqs" msgstr "" "необрабатываемое предыдущее состояние при обнаружении закрывающего апострофа" -#: scan.l:702 +#: scan.l:703 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Спецкоды Unicode должны иметь вид \\uXXXX или \\UXXXXXXXX." -#: scan.l:713 +#: scan.l:714 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "небезопасное использование символа \\' в строке" -#: scan.l:714 +#: scan.l:715 #, c-format msgid "" "Use '' to write quotes in strings. \\' is insecure in client-only encodings." @@ -33741,56 +33750,56 @@ msgstr "" "Записывайте апостроф в строке в виде ''. Запись \\' небезопасна для " "исключительно клиентских кодировок." -#: scan.l:786 +#: scan.l:787 msgid "unterminated dollar-quoted string" msgstr "незавершённая строка с $" -#: scan.l:803 scan.l:813 +#: scan.l:804 scan.l:814 msgid "zero-length delimited identifier" msgstr "пустой идентификатор в кавычках" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:825 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "незавершённый идентификатор в кавычках" -#: scan.l:987 +#: scan.l:988 msgid "operator too long" msgstr "слишком длинный оператор" -#: scan.l:1000 +#: scan.l:1001 msgid "trailing junk after parameter" msgstr "мусорное содержимое после параметра" -#: scan.l:1021 +#: scan.l:1022 msgid "invalid hexadecimal integer" msgstr "неверное шестнадцатеричное целое" -#: scan.l:1025 +#: scan.l:1026 msgid "invalid octal integer" msgstr "неверное восьмеричное целое" -#: scan.l:1029 +#: scan.l:1030 msgid "invalid binary integer" msgstr "неверное двоичное целое" #. 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 в конце" #. 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 (примерное положение: \"%s\")" -#: scan.l:1434 +#: scan.l:1435 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "нестандартное применение \\' в строке" -#: scan.l:1435 +#: scan.l:1436 #, c-format msgid "" "Use '' to write quotes in strings, or use the escape string syntax (E'...')." @@ -33798,23 +33807,23 @@ msgstr "" "Записывайте апостроф в строках в виде '' или используйте синтаксис спецстрок " "(E'...')." -#: scan.l:1444 +#: scan.l:1445 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "нестандартное применение \\\\ в строке" -#: scan.l:1445 +#: scan.l:1446 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "" "Используйте для записи обратных слэшей синтаксис спецстрок, например E'\\\\'." -#: scan.l:1459 +#: scan.l:1460 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "нестандартное использование спецсимвола в строке" -#: scan.l:1460 +#: scan.l:1461 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'." diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po index 2d2e2272672..a33f37c6aa8 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 @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\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-07-27 12:05+0000\n" +"PO-Revision-Date: 2024-07-28 01:05+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -90,64 +90,64 @@ 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:79 ../common/controldata_utils.c:83 +#: commands/copyfrom.c:1687 commands/extension.c:3480 utils/adt/genfile.c:123 #, 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:94 ../common/controldata_utils.c:96 #: 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 +#: 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:1953 -#: replication/slot.c:1994 replication/walsender.c:643 +#: replication/logical/snapbuild.c:2040 replication/slot.c:1980 +#: replication/slot.c:2021 replication/walsender.c:643 #: 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:984 utils/cache/relmapper.c:830 #, 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: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:2045 +#: replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648 +#: utils/cache/relmapper.c:834 #, 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 +#: ../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 #: 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/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 #: 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 +#: replication/logical/snapbuild.c:1807 replication/logical/snapbuild.c:1931 +#: 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:839 -#: utils/cache/relmapper.c:945 +#: storage/file/fd.c:3700 storage/file/fd.c:3806 utils/cache/relmapper.c:842 +#: utils/cache/relmapper.c:957 #, 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:154 msgid "byte ordering mismatch" msgstr "byte-ordning stämmer inte" -#: ../common/controldata_utils.c:126 +#: ../common/controldata_utils.c:156 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -160,55 +160,55 @@ 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/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: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 +#: 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:1925 replication/walsender.c:616 +#: replication/logical/snapbuild.c:1762 replication/logical/snapbuild.c:1872 +#: 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: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 +#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:819 +#: utils/cache/relmapper.c:936 utils/error/elog.c:2102 +#: 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 #, 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 +#: ../common/controldata_utils.c:232 ../common/controldata_utils.c:235 #: access/transam/twophase.c:1744 access/transam/twophase.c:1753 -#: access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 +#: access/transam/xlog.c:8766 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 +#: utils/cache/relmapper.c:948 #, 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/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: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 +#: access/transam/xlog.c:3034 access/transam/xlog.c:3229 +#: access/transam/xlog.c:3961 access/transam/xlog.c:8156 +#: access/transam/xlog.c:8201 backup/basebackup_server.c:209 +#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1800 +#: 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 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "kunde inte fsync:a fil \"%s\": %m" @@ -218,26 +218,26 @@ msgstr "kunde inte fsync:a fil \"%s\": %m" #: ../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 +#: ../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:1345 -#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 +#: 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:308 -#: replication/logical/logical.c:208 replication/walsender.c:686 +#: replication/libpqwalreceiver/libpqwalreceiver.c:361 +#: replication/logical/logical.c:209 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 +#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1461 +#: storage/ipc/procarray.c:2243 storage/ipc/procarray.c:2250 +#: storage/ipc/procarray.c:2749 storage/ipc/procarray.c:3385 #: 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/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 @@ -283,9 +283,9 @@ msgstr "kunde inte hitta en \"%s\" att köra" 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: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 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" @@ -293,8 +293,8 @@ 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 +#: ../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 #, c-format msgid "out of memory\n" msgstr "slut på minne\n" @@ -306,11 +306,11 @@ 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 +#: 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:1680 commands/copyto.c:702 commands/extension.c:3469 +#: 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 +#: replication/logical/snapbuild.c:1658 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 @@ -332,10 +332,10 @@ msgstr "kunde inte öppna katalog \"%s\": %m" 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 +#: ../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 +#: replication/logical/snapbuild.c:1819 replication/slot.c:723 +#: replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792 #: utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -455,9 +455,9 @@ msgstr "tips: " #: ../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 +#: 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 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ogiltigt värde för parameter \"%s\": \"%s\"" @@ -519,11 +519,11 @@ 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 +#: 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 +#: replication/logical/snapbuild.c:1700 replication/logical/snapbuild.c:2134 +#: 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 @@ -538,15 +538,15 @@ msgstr "kunde inte ta bort fil \"%s\": %m" 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" @@ -571,7 +571,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:1879 msgid "user does not exist" msgstr "användaren finns inte" @@ -703,7 +703,7 @@ msgstr "kunde inte kontrollera access-token-medlemskap: felkod %lu\n" 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/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 @@ -712,28 +712,34 @@ msgstr "förfrågan efter BRIN-intervallsummering för index \"%s\" sida %u har 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:1037 access/brin/brin.c:1144 #, 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:1042 access/brin/brin.c:1149 #, 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:1086 access/brin/brin.c:1175 #, 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:1102 access/brin/brin.c:1191 #, 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 +#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084 +#: parser/parse_utilcmd.c:2287 +#, c-format +msgid "index \"%s\" is not valid" +msgstr "index \"%s\" är inte giltigt" + +#: 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 @@ -742,26 +748,9 @@ msgstr "kunde inte öppna föräldratabell för index \"%s\"" msgid "cannot accept a value of type %s" msgstr "kan inte acceptera ett värde av type %s" -#: 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 -#, c-format -msgid "interval out of range" -msgstr "interval utanför giltigt intervall" - #: 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/gist/gist.c:1462 access/spgist/spgdoinsert.c:2002 #: access/spgist/spgdoinsert.c:2279 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" @@ -860,7 +849,7 @@ msgstr "Attribut \"%s\" för typ %s matchar inte motsvarande attribut för typ % 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:1133 access/common/heaptuple.c:1468 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "antalet kolumner (%d) överskrider gränsen (%d)" @@ -870,7 +859,7 @@ 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:968 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "indexrad kräver %zu byte, maximal storlek är %zu" @@ -974,8 +963,8 @@ msgstr "komprimeringsmetod lz4 stöds ej" 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 +#: access/common/tupdesc.c:837 commands/tablecmds.c:7002 +#: commands/tablecmds.c:13073 #, c-format msgid "too many array dimensions" msgstr "för många array-dimensioner" @@ -996,17 +985,17 @@ msgstr "post-listan är för lång" msgid "Reduce maintenance_work_mem." msgstr "Minska maintenance_work_mem." -#: access/gin/ginfast.c:1041 +#: access/gin/ginfast.c:1040 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "väntande GIN-lista kan inte städas upp under återställning." -#: access/gin/ginfast.c:1048 +#: access/gin/ginfast.c:1047 #, c-format msgid "\"%s\" is not a GIN index" msgstr "\"%s\" är inte ett GIN-index" -#: access/gin/ginfast.c:1059 +#: access/gin/ginfast.c:1058 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "kan inte flytta temporära index tillhörande andra sessioner" @@ -1027,7 +1016,7 @@ 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/arrayfuncs.c:4052 utils/adt/arrayfuncs.c:6739 #: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" @@ -1069,7 +1058,7 @@ msgstr "Detta orsakas av en inkomplett siduppdelning under krashåterställning msgid "Please REINDEX it." msgstr "Var vänlig och kör REINDEX på det." -#: access/gist/gist.c:1176 +#: access/gist/gist.c:1195 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "lagar ofärdig split i index \"%s\", block %u" @@ -1112,9 +1101,9 @@ msgstr "operatorfamiljen \"%s\" för accessmetod %s innehåller en inkorrekt ORD 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 +#: 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:17573 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 @@ -1129,7 +1118,7 @@ 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/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1029 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Värden större än en buffert-sida kan inte indexeras." @@ -1169,33 +1158,33 @@ 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:2038 #, 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:2557 #, 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:2604 #, 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:3052 access/heap/heapam.c:5921 #, 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:3180 #, 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:4569 access/heap/heapam.c:4607 +#: access/heap/heapam.c:4872 access/heap/heapam_handler.c:467 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "kunde inte låsa rad i relationen \"%s\"" @@ -1217,12 +1206,12 @@ msgstr "kunde inte skriva till fil \"%s\", skrev %d av %d: %m." #: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 #: 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/xlog.c:2973 access/transam/xlog.c:3164 +#: access/transam/xlog.c:3940 access/transam/xlog.c:8755 #: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 -#: backup/basebackup_server.c:244 commands/dbcommands.c:518 +#: 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 +#: replication/logical/origin.c:603 replication/slot.c:1804 #: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" @@ -1235,162 +1224,162 @@ msgstr "kunde inte trunkera fil \"%s\" till %u: %m" #: access/heap/rewriteheap.c:1156 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 +#: 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 #: 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 +#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1776 +#: 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 #, 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:480 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "aggressiv vaccum av \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:487 +#: access/heap/vacuumlazy.c:485 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "kör vaccum på \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:635 +#: access/heap/vacuumlazy.c:633 #, 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:644 #, 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:646 #, 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:651 #, 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:653 #, 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:660 #, 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:667 #, 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:673 #, 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:679 #, 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:686 #, 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:694 #, 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:697 #, 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:705 msgid "index scan not needed: " msgstr "index-scan behövdes inte: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:707 msgid "index scan needed: " msgstr "index-scan behövdes: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:709 #, 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:714 msgid "index scan bypassed: " msgstr "index-scan överhoppad: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:716 msgid "index scan bypassed by failsafe: " msgstr "index-scan överhoppad av felsäkerhetsfunktion: " -#: access/heap/vacuumlazy.c:720 +#: access/heap/vacuumlazy.c:718 #, 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:733 #, 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:745 commands/analyze.c:801 #, 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:755 commands/analyze.c:804 #, 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:758 commands/analyze.c:806 #, 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:763 #, 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:767 commands/analyze.c:810 #, c-format msgid "system usage: %s" msgstr "systemanvändning: %s" -#: access/heap/vacuumlazy.c:2482 +#: access/heap/vacuumlazy.c:2477 #, 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:2637 #, 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:2640 #, 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:2641 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1399,67 +1388,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:2886 #, 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:2956 #, 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:3018 #, 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:3178 #, 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:3394 #, 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:3397 #, 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:3401 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "vid skanning av relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3414 +#: access/heap/vacuumlazy.c:3409 #, 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:3412 #, 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:3416 #, 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:3421 commands/vacuumparallel.c:1074 #, 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:3426 commands/vacuumparallel.c:1080 #, 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:3432 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "vid trunkering av relation \"%s.%s\" till %u block" @@ -1479,14 +1468,19 @@ msgstr "indexaccessmetod \"%s\" har ingen hanterare" 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:658 access/index/indexam.c:87 +#, 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:208 catalog/objectaddress.c:1394 +#: commands/indexcmds.c:2843 commands/tablecmds.c:272 commands/tablecmds.c:296 +#: commands/tablecmds.c:17268 commands/tablecmds.c:19055 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" är inte ett index" -#: access/index/indexam.c:979 +#: access/index/indexam.c:1021 #, c-format msgid "operator class %s has no options" msgstr "operatorklass %s har inga flaggor" @@ -1507,7 +1501,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:2333 #, c-format msgid "index \"%s\" is not a btree" msgstr "index \"%s\" är inte ett btree" @@ -1527,17 +1521,17 @@ msgstr "index \"%s\" innehåller en halvdöd intern sida" 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:2677 #, 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:2683 #, 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:2687 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1552,12 +1546,12 @@ 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/spgist/spgutils.c:245 +#: access/spgist/spgutils.c:243 #, 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:1026 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "SP-GiST inre tuplestorlek %zu överstiger maximala %zu" @@ -1587,7 +1581,7 @@ msgstr "tid (%u, %u) är inte giltigt för relation \"%s\"" 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:123 access/transam/xlogrecovery.c:4808 #, c-format msgid "%s is too long (maximum %d characters)." msgstr "%s är för lång (maximalt %d tecken)." @@ -1721,17 +1715,17 @@ msgstr "MultiXact-medlems wraparound-skydd är avslagen eftersom äldsta checkpo 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:3034 #, 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:3052 #, 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:3366 #, c-format msgid "invalid MultiXactId: %u" msgstr "ogiltig MultiXactId: %u" @@ -1944,12 +1938,12 @@ msgstr "Sätt max_prepared_transactions till ett ickenollvärde." 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:422 access/transam/twophase.c:2516 #, 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:423 access/transam/twophase.c:2517 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "Öka max_prepared_transactions (nu %d)." @@ -2022,7 +2016,7 @@ 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 +#: replication/logical/logical.c:210 replication/walsender.c:687 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Misslyckades vid allokering av en WAL-läs-processor." @@ -2054,52 +2048,52 @@ msgid_plural "%u two-phase state files were written for long-running prepared tr 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:2092 #, 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:2185 #, 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:2192 #, 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:2205 #, 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:2212 #, 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:2237 #, 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:2242 #, 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:2499 #, 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:2501 #, 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 +#: access/transam/twophase.c:2509 jit/jit.c:205 utils/fmgr/dfmgr.c:209 #: utils/fmgr/dfmgr.c:415 #, c-format msgid "could not access file \"%s\": %m" @@ -2249,463 +2243,463 @@ msgstr "kan inte commit:a subtransaktioner undert en parallell operation" 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" -#: access/transam/xlog.c:1466 +#: access/transam/xlog.c:1468 #, c-format msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" msgstr "förfrågan att flush:a efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X" -#: access/transam/xlog.c:2228 +#: access/transam/xlog.c:2230 #, c-format msgid "could not write to log file %s at offset %u, length %zu: %m" msgstr "kunde inte skriva till loggfil %s vid offset %u, längd %zu: %m" -#: access/transam/xlog.c:3455 access/transam/xlogutils.c:833 +#: access/transam/xlog.c:3457 access/transam/xlogutils.c:833 #: replication/walsender.c:2725 #, 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:3741 #, 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:3783 access/transam/xlog.c:3793 #, 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:3799 #, 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:3802 commands/dbcommands.c:3172 #, 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:3869 #, 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: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 #, c-format msgid "database files are incompatible with server" msgstr "databasfilerna är inkompatibla med servern" -#: access/transam/xlog.c:4018 +#: access/transam/xlog.c:4020 #, 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:4024 #, 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:4029 #, 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:4032 access/transam/xlog.c:4056 +#: access/transam/xlog.c:4063 access/transam/xlog.c:4068 #, 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:4043 #, c-format msgid "incorrect checksum in control file" msgstr "ogiltig kontrollsumma kontrollfil" -#: access/transam/xlog.c:4051 +#: access/transam/xlog.c:4053 #, 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:4060 #, 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:4067 #, 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:4072 #, 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: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 #, 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:4079 #, 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:4086 #, 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:4093 #, 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:4100 #, 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:4107 #, 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:4114 #, 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:4123 #, 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:4130 #, 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:4139 #, 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" -#: access/transam/xlog.c:4149 +#: access/transam/xlog.c:4151 #, 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:4155 #, 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:4310 catalog/namespace.c:4335 +#: commands/tablespace.c:1216 commands/user.c:2530 commands/variable.c:72 +#: utils/error/elog.c:2225 #, 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:4356 commands/user.c:2546 commands/variable.c:173 +#: utils/error/elog.c:2251 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Okänt nyckelord: \"%s\"" -#: access/transam/xlog.c:4768 +#: access/transam/xlog.c:4770 #, 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:4778 #, 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:4784 #, 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:5001 #, c-format msgid "WAL was generated with wal_level=minimal, cannot continue recovering" msgstr "WAL genererades med wal_level=minimal, kan inte fortsätta återställande" -#: access/transam/xlog.c:5000 +#: access/transam/xlog.c:5002 #, c-format msgid "This happens if you temporarily set wal_level=minimal on the server." msgstr "Detta händer om du temporärt sätter wal_level=minimal på servern." -#: access/transam/xlog.c:5001 +#: access/transam/xlog.c:5003 #, c-format msgid "Use a backup taken after setting wal_level to higher than minimal." msgstr "Använd en backup som är tagen efter att inställningen wal_level satts till ett högre värde än minimal." -#: access/transam/xlog.c:5065 +#: access/transam/xlog.c:5067 #, 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:5078 #, 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:5084 #, 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:5090 #, 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:5096 #, 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:5098 #, 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:5104 #, 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:5106 #, 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:5112 #, 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:5118 #, 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:5503 #, 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:5504 #, 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:5507 #, 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:5553 #, c-format msgid "selected new timeline ID: %u" msgstr "valt nytt tidslinje-ID: %u" -#: access/transam/xlog.c:5583 +#: access/transam/xlog.c:5586 #, c-format msgid "archive recovery complete" msgstr "arkivåterställning klar" -#: access/transam/xlog.c:6189 +#: access/transam/xlog.c:6192 #, c-format msgid "shutting down" msgstr "stänger ner" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6228 +#: access/transam/xlog.c:6231 #, 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:6243 #, 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:6308 #, 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:6331 #, 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:6776 #, 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:7337 #, 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:7339 #, 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:7587 #, 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:7794 #, 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:7852 #, 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:7910 #, 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:7939 #, 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:8206 #, 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:8211 #, 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:8296 access/transam/xlog.c:8619 #, 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/xlog.c:8297 access/transam/xlog.c:8620 #: access/transam/xlogfuncs.c:254 #, 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:8291 +#: access/transam/xlog.c:8302 #, 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:8423 #, 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" -#: access/transam/xlog.c:8414 access/transam/xlog.c:8697 +#: access/transam/xlog.c:8425 access/transam/xlog.c:8708 #, c-format msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again." msgstr "Det betyder att backup:en som tas på standby:en är trasig och inte skall användas. Slå på full_page_writes och kör CHECKPOINT på primären och försök sedan ta en ny online-backup igen." -#: access/transam/xlog.c:8481 backup/basebackup.c:1351 utils/adt/misc.c:354 +#: access/transam/xlog.c:8492 backup/basebackup.c:1355 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:8499 backup/basebackup.c:1360 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:8658 backup/basebackup.c:1221 #, 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:8659 backup/basebackup.c:1222 #, 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:8706 #, c-format msgid "WAL generated with full_page_writes=off was replayed during online backup" msgstr "WAL skapad med full_page_writes=off återspelades under online-backup" -#: access/transam/xlog.c:8811 +#: access/transam/xlog.c:8822 #, 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:8836 #, 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:8838 #, 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." -#: access/transam/xlog.c:8834 +#: access/transam/xlog.c:8845 #, 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:8849 #, 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:8888 #, 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:214 #, 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:223 #, 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:237 #, c-format 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:269 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "kunde inte återställa fil \"%s\" från arkiv: %s" @@ -2713,17 +2707,17 @@ 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:347 #, c-format msgid "%s \"%s\": %s" msgstr "%s \"%s\": %s" -#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 +#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:537 #, 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:465 access/transam/xlogarchive.c:545 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "kunde inte skriva arkiveringsstatusfil \"%s\": %m" @@ -2805,7 +2799,7 @@ msgstr "%s kan inte köras efter att befordran startats." 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:715 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" @@ -2822,167 +2816,157 @@ msgstr[1] "servern befordrades inte inom %d sekunder" 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:621 #, 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:630 #, 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:671 access/transam/xlogreader.c:1136 +#, 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:760 #, 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:773 #, 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:1144 #, 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:1157 access/transam/xlogreader.c:1173 #, 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:1211 #, 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:1245 #, 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:1260 access/transam/xlogreader.c:1302 #, 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:1276 #, 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:1284 #, 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:1290 #, 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:1322 #, 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:1348 #, 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:1754 #, 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:1778 #, 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:1785 #, 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:1821 #, 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:1837 #, 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:1851 #, 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:1866 #, 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:1882 #, 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:1894 #, 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:1961 #, 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:1987 #, 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:2071 #, 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:2078 #, 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:2105 access/transam/xlogreader.c:2122 #, 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:2131 #, 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:2139 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "kunde inte packa upp avbild vid %X/%X, block %d" @@ -3022,12 +3006,17 @@ msgstr "startar point-in-time-återställning till tidigast konsistenta punkt" msgid "starting archive recovery" msgstr "Startar arkivåterställning" -#: access/transam/xlogrecovery.c:653 +#: access/transam/xlogrecovery.c:637 +#, c-format +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:669 #, c-format msgid "could not find redo location referenced by checkpoint record" msgstr "kunde inte hitta redo-position refererad av checkpoint-post" -#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 +#: access/transam/xlogrecovery.c:670 access/transam/xlogrecovery.c:680 #, c-format msgid "" "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" @@ -3039,397 +3028,407 @@ msgstr "" "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:679 #, c-format msgid "could not locate required checkpoint record" msgstr "kunde inte hitta den checkpoint-post som krävs" -#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 +#: access/transam/xlogrecovery.c:708 commands/tablespace.c:670 #, 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:740 access/transam/xlogrecovery.c:746 #, 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:742 #, 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:748 #, 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:787 +#, 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:812 #, c-format msgid "could not locate a valid checkpoint record" msgstr "kunde inte hitta en giltig checkpoint-post" -#: access/transam/xlogrecovery.c:810 +#: access/transam/xlogrecovery.c:836 #, 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:838 #, 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:852 #, 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:880 #, c-format msgid "invalid next transaction ID" msgstr "nästa transaktions-ID ogiltig" -#: access/transam/xlogrecovery.c:859 +#: access/transam/xlogrecovery.c:885 #, c-format msgid "invalid redo in checkpoint record" msgstr "ogiltig redo i checkpoint-post" -#: access/transam/xlogrecovery.c:870 +#: access/transam/xlogrecovery.c:896 #, 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:925 #, 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:929 #, 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:972 #, 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:973 #, 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:1027 #, 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:1092 #, 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:1109 #, c-format 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:1110 #, 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:1118 #, c-format msgid "must specify restore_command when standby mode is not enabled" msgstr "måste ange restore_command när standby-läge inte är påslaget" -#: access/transam/xlogrecovery.c:1130 +#: access/transam/xlogrecovery.c:1156 #, 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:1239 access/transam/xlogrecovery.c:1246 +#: access/transam/xlogrecovery.c:1305 access/transam/xlogrecovery.c:1385 +#: access/transam/xlogrecovery.c:1409 #, c-format msgid "invalid data in file \"%s\"" msgstr "felaktig data i fil \"%s\"" -#: access/transam/xlogrecovery.c:1280 +#: access/transam/xlogrecovery.c:1306 #, 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:1688 #, c-format msgid "redo starts at %X/%X" msgstr "redo startar vid %X/%X" -#: access/transam/xlogrecovery.c:1675 +#: access/transam/xlogrecovery.c:1701 #, 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:1793 #, 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:1825 #, 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:1831 #, 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:1840 #, c-format msgid "redo is not required" msgstr "redo behövs inte" -#: access/transam/xlogrecovery.c:1825 +#: access/transam/xlogrecovery.c:1851 #, 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:2045 #, 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:2112 #, 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:2114 #, 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:2115 #, 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:2163 +#: access/transam/xlogrecovery.c:2167 +#, c-format +msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" +msgstr "slutförde backupåterställning vid redo-LSN %X/%X och slut-LSN %X/%X" + +#: access/transam/xlogrecovery.c:2197 #, 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:2235 #, 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:2333 #, 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:2342 #, 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:2358 #, 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:2542 access/transam/xlogrecovery.c:2818 #, 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:2563 #, 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:2653 #, 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:2660 #, 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:2713 #, 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:2731 #, 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:2798 #, 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:2806 #, 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:2887 #, 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:2888 #, 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:2891 access/transam/xlogrecovery.c:4628 #, c-format msgid "recovery has paused" msgstr "återställning har pausats" -#: access/transam/xlogrecovery.c:2858 +#: access/transam/xlogrecovery.c:2892 #, 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:3155 #, 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:3363 #, 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:3370 #, 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:4010 #, c-format msgid "invalid checkpoint location" msgstr "ogiltig checkpoint-position" -#: access/transam/xlogrecovery.c:3986 +#: access/transam/xlogrecovery.c:4020 #, c-format msgid "invalid checkpoint record" msgstr "ogiltig checkpoint-post" -#: access/transam/xlogrecovery.c:3992 +#: access/transam/xlogrecovery.c:4026 #, 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:4034 #, 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:4040 #, c-format msgid "invalid length of checkpoint record" msgstr "ogiltig längd på checkpoint-post" -#: access/transam/xlogrecovery.c:4060 +#: access/transam/xlogrecovery.c:4094 #, 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:4108 #, 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:4127 #, c-format msgid "new target timeline is %u" msgstr "ny måltidslinje är %u" -#: access/transam/xlogrecovery.c:4296 +#: access/transam/xlogrecovery.c:4330 #, 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:4390 #, c-format msgid "received promote request" msgstr "tog emot förfrågan om befordring" -#: access/transam/xlogrecovery.c:4585 +#: access/transam/xlogrecovery.c:4619 #, 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:4620 access/transam/xlogrecovery.c:4647 +#: access/transam/xlogrecovery.c:4677 #, 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:4629 #, 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:4630 #, 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:4641 #, 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:4651 #, 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:4675 #, 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:4681 #, 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:4723 #, c-format msgid "multiple recovery targets specified" msgstr "multipla återställningsmål angivna" -#: access/transam/xlogrecovery.c:4690 +#: access/transam/xlogrecovery.c:4724 #, c-format msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set." msgstr "Som mest en av recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time och recovery_target_xid kan sättas." -#: access/transam/xlogrecovery.c:4701 +#: access/transam/xlogrecovery.c:4735 #, 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 +#: access/transam/xlogrecovery.c:4887 utils/adt/timestamp.c:186 #: utils/adt/timestamp.c:439 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp utanför giltigt intervall: \"%s\"" -#: access/transam/xlogrecovery.c:4898 +#: access/transam/xlogrecovery.c:4932 #, c-format msgid "recovery_target_timeline is not a valid number." msgstr "recovery_target_timeline är inte ett giltigt nummer." @@ -3586,49 +3585,49 @@ msgstr "komprimeringsinställning kan inte anges om komprimering inte är påsla msgid "invalid compression specification: %s" msgstr "ogiltig inställning för komprimering: %s" -#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#: backup/basebackup.c:1116 backup/basebackup.c:1298 #, 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:1434 #, c-format msgid "skipping special file \"%s\"" msgstr "hoppar över specialfil \"%s\"" -#: backup/basebackup.c:1542 +#: backup/basebackup.c:1546 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "ogiltigt segmentnummer %d i fil \"%s\"" -#: backup/basebackup.c:1574 +#: backup/basebackup.c:1578 #, 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:1662 #, 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:1669 #, 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 +#: 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] "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:1771 #, 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:1776 #, 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\"" @@ -3663,9 +3662,9 @@ msgstr "Bara roller med rättigheter från rollen \"%s\" får skapa backup som l 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 +#: 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 +#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1731 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -3876,7 +3875,7 @@ 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/pg_largeobject.c:116 storage/large_object/inv_api.c:286 #, c-format msgid "large object %u does not exist" msgstr "stort objekt %u existerar inte" @@ -3896,22 +3895,22 @@ msgstr "rättighet saknas för att ändra standardrättigheter" 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/aclchk.c:1595 catalog/catalog.c:652 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 +#: commands/sequence.c:1670 commands/tablecmds.c:7388 commands/tablecmds.c:7544 +#: commands/tablecmds.c:7594 commands/tablecmds.c:7668 +#: commands/tablecmds.c:7738 commands/tablecmds.c:7854 +#: commands/tablecmds.c:7948 commands/tablecmds.c:8007 +#: commands/tablecmds.c:8096 commands/tablecmds.c:8126 +#: commands/tablecmds.c:8254 commands/tablecmds.c:8336 +#: commands/tablecmds.c:8470 commands/tablecmds.c:8582 +#: commands/tablecmds.c:12307 commands/tablecmds.c:12488 +#: commands/tablecmds.c:12649 commands/tablecmds.c:13844 +#: commands/tablecmds.c:16375 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:3415 +#: parser/parse_utilcmd.c:3451 parser/parse_utilcmd.c:3493 utils/adt/acl.c:2876 +#: utils/adt/ruleutils.c:2797 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "kolumn \"%s\" i relation \"%s\" existerar inte" @@ -3921,13 +3920,13 @@ msgstr "kolumn \"%s\" i relation \"%s\" existerar inte" 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:1847 commands/tablecmds.c:14001 commands/tablecmds.c:17277 #, 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 +#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1178 +#: commands/tablecmds.c:254 commands/tablecmds.c:17241 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 #, c-format @@ -4109,9 +4108,9 @@ msgstr "rättighet saknas för rutin %s" 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:2759 commands/sequence.c:666 commands/sequence.c:892 +#: commands/sequence.c:934 commands/sequence.c:975 commands/sequence.c:1768 +#: commands/sequence.c:1814 #, c-format msgid "permission denied for sequence %s" msgstr "rättighet saknas för sekvens %s" @@ -4321,7 +4320,7 @@ msgstr "måste vara ägaren till relationen %s" 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:3104 catalog/aclchk.c:3984 catalog/aclchk.c:4015 #, c-format msgid "%s with OID %u does not exist" msgstr "%s med OID %u existerar inte" @@ -4341,7 +4340,7 @@ msgstr "relation med OID %u existerar inte" 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 +#: catalog/aclchk.c:3640 commands/collationcmds.c:813 #: commands/publicationcmds.c:1746 #, c-format msgid "schema with OID %u does not exist" @@ -4352,76 +4351,76 @@ msgstr "schema med OID %u existerar inte" msgid "type with OID %u does not exist" msgstr "typ med OID %u existerar inte" -#: catalog/catalog.c:449 +#: catalog/catalog.c:470 #, 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:472 #, 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:497 #, 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:630 catalog/catalog.c:697 #, 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:639 #, 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:644 parser/parse_utilcmd.c:2280 #, 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:661 #, 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:668 #, 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:553 catalog/pg_shdepend.c:658 #, 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:845 catalog/dependency.c:1072 #, 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:847 catalog/dependency.c:1074 #, 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:1153 catalog/dependency.c:1162 #, c-format msgid "%s depends on %s" msgstr "%s beror på %s" -#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#: catalog/dependency.c:1177 catalog/dependency.c:1186 #, 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:1194 catalog/pg_shdepend.c:823 #, c-format msgid "" "\n" @@ -4436,48 +4435,48 @@ msgstr[1] "" "\n" "och %d andra objekt (se serverloggen för en lista)" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, 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 +#: catalog/dependency.c:1209 catalog/dependency.c:1216 +#: catalog/dependency.c:1227 commands/tablecmds.c:1332 +#: commands/tablecmds.c:14488 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: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 +#: 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 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#: catalog/dependency.c:1210 catalog/dependency.c:1217 #, 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:1214 #, 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:1222 #, 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:1908 #, 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:2433 parser/parse_relation.c:3413 +#: parser/parse_relation.c:3423 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "kolumn %d i relation \"%s\" finns inte" @@ -4492,13 +4491,13 @@ msgstr "rättighet saknas för att skapa \"%s.%s\"" 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:466 commands/tablecmds.c:2371 commands/tablecmds.c:3044 +#: commands/tablecmds.c:6971 #, 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:484 commands/tablecmds.c:7278 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "kolumnnamn \"%s\" står i konflikt med ett systemkolumnnamn" @@ -4509,39 +4508,39 @@ 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:578 #, 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:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "kolumn \"%s\" har pseudo-typ %s" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, 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:669 #, 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:675 commands/createas.c:203 commands/createas.c:512 #, 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:1151 catalog/index.c:887 commands/createas.c:408 +#: commands/tablecmds.c:3996 #, 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/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 @@ -4549,137 +4548,137 @@ msgstr "relationen \"%s\" finns redan" msgid "type \"%s\" already exists" msgstr "typen \"%s\" existerar redan" -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, 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:1208 #, 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:1219 #, 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:1229 #, 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:2129 #, 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:2404 #, 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:2574 catalog/index.c:901 catalog/pg_constraint.c:682 +#: commands/tablecmds.c:8957 #, 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:2581 #, 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:2592 #, 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:2602 #, 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:2607 #, 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:2633 catalog/pg_constraint.c:811 commands/tablecmds.c:2669 +#: commands/tablecmds.c:3196 commands/tablecmds.c:6903 +#: commands/tablecmds.c:15310 commands/tablecmds.c:15451 #, c-format msgid "too many inheritance parents" msgstr "för många föräldrar i arv" -#: catalog/heap.c:2706 +#: catalog/heap.c:2717 #, 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:2719 #, 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:2725 #, 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:2726 #, 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:2781 #, c-format msgid "generation expression is not immutable" msgstr "genereringsuttryck är inte immutable" -#: catalog/heap.c:2796 rewrite/rewriteHandler.c:1297 +#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1297 #, 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:2814 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 #, 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:2861 #, 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:3167 #, 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:3168 #, 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:3173 #, 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:3174 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Tabell \"%s\" refererar till \"%s\"." -#: catalog/heap.c:3163 +#: catalog/heap.c:3176 #, 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:225 parser/parse_utilcmd.c:2186 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "multipla primärnycklar för tabell \"%s\" tillåts inte" @@ -4699,7 +4698,7 @@ msgstr "primärnycklar kan inte vara uttryck" 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:786 catalog/index.c:1943 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "användardefinierade index på systemkatalogen är inte möjligt" @@ -4714,7 +4713,7 @@ msgstr "ickedeterministiska jämförelser (collation) stöds inte för operatork 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:850 catalog/index.c:1319 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "samtida indexskapande för uteslutningsvillkor stöds inte" @@ -4740,39 +4739,39 @@ msgstr "pg_class index OID-värde är inte satt i binärt uppgraderingsläge" 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:2242 #, 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:3676 #, 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:3687 commands/indexcmds.c:3607 #, 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:3703 commands/indexcmds.c:3487 commands/indexcmds.c:3631 +#: commands/tablecmds.c:3411 #, c-format msgid "cannot move system relation \"%s\"" msgstr "kan inte flytta systemrelation \"%s\"" -#: catalog/index.c:3820 +#: catalog/index.c:3847 #, c-format msgid "index \"%s\" was reindexed" msgstr "index \"%s\" omindexerades" -#: catalog/index.c:3957 +#: catalog/index.c:3984 #, 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 +#: commands/trigger.c:5738 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "referenser till andra databaser är inte implementerat: \"%s.%s.%s\"" @@ -4844,19 +4843,19 @@ msgstr "textsökkatalog \"%s\" finns inte" msgid "text search template \"%s\" does not exist" msgstr "textsökmall \"%s\" finns inte" -#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162 +#: catalog/namespace.c:2767 commands/tsearchcmds.c:1168 #: utils/adt/regproc.c:1329 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:2880 parser/parse_expr.c:832 parser/parse_target.c:1260 #, 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 +#: parser/parse_target.c:1267 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ej korrekt kvalificerat namn (för många namn med punkt): %s" @@ -4872,7 +4871,7 @@ 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 +#: commands/tablecmds.c:1277 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "schema \"%s\" existerar inte" @@ -4908,26 +4907,26 @@ 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 +#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2203 +#: commands/tablecmds.c:12424 #, 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 +#: commands/tablecmds.c:17246 commands/view.c:119 #, 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 +#: commands/tablecmds.c:17251 #, 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 +#: commands/tablecmds.c:17256 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" är inte en främmande tabell" @@ -4947,8 +4946,8 @@ msgstr "kolumnnamn måste vara kvalificerat" 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:1656 commands/functioncmds.c:138 +#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 #: utils/adt/acl.c:4441 #, c-format @@ -5044,7 +5043,7 @@ msgstr "argumentlistans längd måste vara exakt %d" 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:2523 commands/functioncmds.c:1562 #, c-format msgid "must be owner of type %s or type %s" msgstr "måste vara ägaren till typ %s eller typ %s" @@ -5507,7 +5506,7 @@ msgstr "\"%s\" är ett hypotetiskt mängdaggregait." msgid "cannot change number of direct arguments of an aggregate function" msgstr "kan inte ändra antalet direkta argument på en aggregatfunktion" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:692 #: 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 @@ -5703,8 +5702,8 @@ msgstr "kan inte koppla loss partition \"%s\"" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "Partitionen kopplas loss parallellt eller har en bortkoppling som inte är slutförd." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583 -#: commands/tablecmds.c:15464 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4623 +#: commands/tablecmds.c:15566 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Använd ALTER TABLE ... DETACH PARTITION ... FINALIZE för att slutföra den pågående bortkopplingsoperationen." @@ -5881,7 +5880,7 @@ msgstr "SQL-funktioner kan inte returnera typ %s" msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-funktioner kan inte ha argument av typ %s" -#: catalog/pg_proc.c:987 executor/functions.c:1466 +#: catalog/pg_proc.c:988 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-funktion \"%s\"" @@ -6059,7 +6058,7 @@ msgstr "intern storlek %d är ogiltig för skicka-värde-typ" msgid "alignment \"%c\" is invalid for variable-length type" msgstr "justering (alignment) \"%c\" är ogiltig för variabel-längd-typ" -#: catalog/pg_type.c:326 commands/typecmds.c:4140 +#: catalog/pg_type.c:326 commands/typecmds.c:4146 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "typer med fast storlek måste lagras som PLAIN" @@ -6159,7 +6158,7 @@ msgstr "serialiseringsfunktioner får bara anges när aggregatets övergångsdat msgid "must specify both or neither of serialization and deserialization functions" msgstr "måste ange båda eller ingen av funktionerna serialization och deserialization" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:438 commands/functioncmds.c:640 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "parameter \"parallel\" måste vara SAFE, RESTRICTED eller UNSAFE" @@ -6311,22 +6310,22 @@ msgstr "analyserar \"%s.%s\"" msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "kolumn \"%s\" i relation \"%s\" dyker upp mer än en gång" -#: commands/analyze.c:787 +#: commands/analyze.c:792 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "automatisk analys av tabell \"%s.%s.%s\"\n" -#: commands/analyze.c:1334 +#: commands/analyze.c:1339 #, 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\": skannade %d av %u sidor, innehåller %.0f levande rader och %.0f döda rader; %d rader samplade, %.0f uppskattat antal rader" -#: commands/analyze.c:1418 +#: commands/analyze.c:1423 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "hoppar över analys av arvsträd \"%s.%s\" --- detta arvsträd innehåller inga barntabeller" -#: commands/analyze.c:1516 +#: commands/analyze.c:1521 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "hoppar över analys av arvsträd \"%s.%s\" --- detta arvsträd innehåller inga analyserbara barntabeller" @@ -6386,7 +6385,7 @@ msgstr "kan inte klustra temporära tabeller för andra sessioner" msgid "there is no previously clustered index for table \"%s\"" msgstr "det finns inget tidigare klustrat index för tabell \"%s\"" -#: commands/cluster.c:192 commands/tablecmds.c:14200 commands/tablecmds.c:16043 +#: commands/cluster.c:192 commands/tablecmds.c:14302 commands/tablecmds.c:16145 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "index \"%s\" för tabell \"%s\" finns inte" @@ -6401,7 +6400,7 @@ msgstr "kan inte klustra en delad katalog" msgid "cannot vacuum temporary tables of other sessions" msgstr "kan inte städa temporära tabeller för andra sessioner" -#: commands/cluster.c:513 commands/tablecmds.c:16053 +#: commands/cluster.c:513 commands/tablecmds.c:16155 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" är inte ett index för tabell \"%s\"" @@ -6461,11 +6460,11 @@ msgid "collation attribute \"%s\" not recognized" msgstr "jämförelsesattribut \"%s\" känns inte igen" #: 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 +#: commands/define.c:389 commands/tablecmds.c:7929 +#: 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 #, c-format msgid "conflicting or redundant options" @@ -6491,93 +6490,90 @@ msgstr "jämförelse \"default\" kan inte kopieras" msgid "unrecognized collation provider: %s" msgstr "okänd jämförelseleverantör: %s" -#: commands/collationcmds.c:253 +#: commands/collationcmds.c:253 commands/collationcmds.c:259 +#: commands/collationcmds.c:267 #, c-format -msgid "parameter \"lc_collate\" must be specified" -msgstr "parameter \"lc_collate\" måste anges" +msgid "parameter \"%s\" must be specified" +msgstr "parameter \"%s\" måste anges" -#: commands/collationcmds.c:258 -#, c-format -msgid "parameter \"lc_ctype\" must be specified" -msgstr "parameter \"lc_ctype\" måste anges" - -#: commands/collationcmds.c:265 -#, c-format -msgid "parameter \"locale\" must be specified" -msgstr "parameter \"locale\" måste anges" - -#: commands/collationcmds.c:279 commands/dbcommands.c:1091 +#: commands/collationcmds.c:282 commands/dbcommands.c:1091 #, c-format msgid "using standard form \"%s\" for ICU locale \"%s\"" msgstr "använder standardformen \"%s\" för ICU-lokal \"%s\"" -#: commands/collationcmds.c:298 +#: commands/collationcmds.c:301 #, c-format msgid "nondeterministic collations not supported with this provider" msgstr "ickedeterministiska jämförelser (collation) stöds inte med denna leverantör" -#: commands/collationcmds.c:303 commands/dbcommands.c:1110 +#: commands/collationcmds.c:306 commands/dbcommands.c:1110 #, c-format msgid "ICU rules cannot be specified unless locale provider is ICU" msgstr "ICU-regler kan inte anges om lokalleverantören inte är ICU" -#: commands/collationcmds.c:322 +#: commands/collationcmds.c:325 #, c-format msgid "current database's encoding is not supported with this provider" msgstr "teckenkodning för aktuell databas stöds inte med denna leverantör" -#: commands/collationcmds.c:382 +#: commands/collationcmds.c:385 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "jämförelse \"%s\" för kodning \"%s\" finns redan i schema \"%s\"" -#: commands/collationcmds.c:393 +#: commands/collationcmds.c:396 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "jämförelse \"%s\" finns redan i schema \"%s\"" -#: commands/collationcmds.c:418 +#: commands/collationcmds.c:421 #, c-format msgid "cannot refresh version of default collation" msgstr "kan inte refresha versionen på standardjämförelse" -#: commands/collationcmds.c:419 +#. translator: %s is an SQL command +#. translator: %s is an SQL ALTER command +#: commands/collationcmds.c:423 commands/subscriptioncmds.c:1331 +#: commands/tablecmds.c:7754 commands/tablecmds.c:7764 +#: commands/tablecmds.c:14004 commands/tablecmds.c:17279 +#: commands/tablecmds.c:17300 commands/typecmds.c:3637 commands/typecmds.c:3720 +#: commands/typecmds.c:4013 #, c-format -msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead." -msgstr "Använd ALTER DATABASE ... REFRESH COLLATION VERSION istället." +msgid "Use %s instead." +msgstr "Använd %s istället." -#: commands/collationcmds.c:446 commands/dbcommands.c:2488 +#: commands/collationcmds.c:451 commands/dbcommands.c:2488 #, c-format msgid "changing version from %s to %s" msgstr "byter version från %s till %s" -#: commands/collationcmds.c:461 commands/dbcommands.c:2501 +#: commands/collationcmds.c:466 commands/dbcommands.c:2501 #, c-format msgid "version has not changed" msgstr "versionen har inte ändrats" -#: commands/collationcmds.c:494 commands/dbcommands.c:2667 +#: commands/collationcmds.c:499 commands/dbcommands.c:2667 #, c-format msgid "database with OID %u does not exist" msgstr "databas med OID %u finns inte" -#: commands/collationcmds.c:515 +#: commands/collationcmds.c:520 #, c-format msgid "collation with OID %u does not exist" msgstr "jämförelse med OID %u existerar inte" -#: commands/collationcmds.c:803 +#: commands/collationcmds.c:808 #, c-format msgid "must be superuser to import system collations" msgstr "måste vara en superuser för att importera systemjämförelser" -#: commands/collationcmds.c:831 commands/copyfrom.c:1654 commands/copyto.c:656 +#: 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 "kunde inte köra kommandot \"%s\": %m" -#: commands/collationcmds.c:923 commands/collationcmds.c:1008 +#: commands/collationcmds.c:928 commands/collationcmds.c:1013 #, c-format msgid "no usable system locales were found" msgstr "inga användbara systemlokaler hittades" @@ -6858,18 +6854,18 @@ msgstr "kolumnen \"%s\" är en genererad kolumn" msgid "Generated columns cannot be used in COPY." msgstr "Genererade kolumner kan inte användas i COPY." -#: commands/copy.c:842 commands/indexcmds.c:1910 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 +#: commands/copy.c:842 commands/indexcmds.c:1886 commands/statscmds.c:242 +#: commands/tablecmds.c:2402 commands/tablecmds.c:3124 +#: commands/tablecmds.c:3635 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 "kolumnen \"%s\" existerar inte" -#: 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:849 commands/tablecmds.c:2428 commands/trigger.c:958 +#: parser/parse_target.c:1084 parser/parse_target.c:1095 #, c-format msgid "column \"%s\" specified more than once" msgstr "kolumn \"%s\" angiven mer än en gång" @@ -6944,32 +6940,37 @@ msgstr "kan inte utföra COPY FREEZE på grund av tidigare transaktionsaktivitet msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" msgstr "kan inte utföra COPY FREEZE då tabellen inte skapades eller trunkerades i den nuvarande subtransaktionen" -#: commands/copyfrom.c:1411 +#: commands/copyfrom.c:1414 #, c-format msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" msgstr "FORCE_NOT_NULL-kolumnen \"%s\" refereras inte till av COPY" -#: commands/copyfrom.c:1434 +#: commands/copyfrom.c:1437 #, c-format msgid "FORCE_NULL column \"%s\" not referenced by COPY" msgstr "FORCE_NULL-kolumnen \"%s\" refereras inte till av COPY" -#: commands/copyfrom.c:1673 +#: commands/copyfrom.c:1490 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" + +#: commands/copyfrom.c:1690 #, 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 säger åt PostgreSQLs serverprocess att läsa en fil. Du kanske söker efter en klient-finess så som psql:s \\copy." -#: commands/copyfrom.c:1686 commands/copyto.c:708 +#: commands/copyfrom.c:1703 commands/copyto.c:708 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" är en katalog" -#: commands/copyfrom.c:1754 commands/copyto.c:306 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1771 commands/copyto.c:306 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "kunde inte stänga rör till externt komamndo: %m" -#: commands/copyfrom.c:1769 commands/copyto.c:311 +#: commands/copyfrom.c:1786 commands/copyto.c:311 #, c-format msgid "program \"%s\" failed" msgstr "program \"%s\" misslyckades" @@ -7321,7 +7322,7 @@ msgstr "ogiltig strategi \"%s\" för att skapa databas" #: commands/dbcommands.c:1017 #, c-format -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." msgstr "Giltiga strategier är \"wal_log\" och \"file_copy\"." #: commands/dbcommands.c:1043 @@ -7602,7 +7603,7 @@ msgid_plural "There are %d other sessions using the database." msgstr[0] "Det finns %d annan session som använder databasen." msgstr[1] "Det finns %d andra sessioner som använder databasen." -#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3798 +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3809 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -7657,8 +7658,8 @@ msgstr "argumentet till %s måste vara ett typnamn" msgid "invalid argument for %s: \"%s\"" msgstr "ogiltigt argument till \"%s\": \"%s\"" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 -#: utils/adt/ruleutils.c:2897 +#: commands/dropcmds.c:101 commands/functioncmds.c:1388 +#: utils/adt/ruleutils.c:2895 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\" är en aggregatfunktion" @@ -7668,14 +7669,14 @@ msgstr "\"%s\" är en aggregatfunktion" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Använd DROP AGGREGATE för att ta bort aggregatfunktioner." -#: 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:1336 +#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3719 +#: commands/tablecmds.c:3877 commands/tablecmds.c:3929 +#: commands/tablecmds.c:16570 tcop/utility.c:1336 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "relation \"%s\" finns inte, hoppar över" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1282 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "schema \"%s\" finns inte, hoppar över" @@ -7995,7 +7996,7 @@ msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "parameter \"%s\" kan inte sättas i sekundär utökningskontrollfil" #: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 -#: utils/misc/guc.c:3098 +#: utils/misc/guc.c:3100 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "parameter \"%s\" kräver ett boolskt värde" @@ -8300,363 +8301,363 @@ msgstr "främmande data-omvandlare \"%s\" stöder inte IMPORT FOREIGN SCHEMA" msgid "importing foreign table \"%s\"" msgstr "importerar främmande tabell \"%s\"" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:110 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL-funktion kan inte returnera shell-typ %s" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:115 #, c-format msgid "return type %s is only a shell" msgstr "returtyp %s är bara en shell-typ" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:144 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "typmodifierare kan inte anges för shell-typ \"%s\"" -#: commands/functioncmds.c:149 +#: commands/functioncmds.c:150 #, c-format msgid "type \"%s\" is not yet defined" msgstr "typen \"%s\" är inte definierad ännu" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:151 #, c-format msgid "Creating a shell type definition." msgstr "Skapar en shell-typsdefinition." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:250 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-funktioner kan inte hantera shell-typ %s" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:256 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "aggregat kan inte hantera shell-typ %s" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:261 #, c-format msgid "argument type %s is only a shell" msgstr "argumenttyp %s är bara en shell-typ" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:271 #, c-format msgid "type %s does not exist" msgstr "typen %s existerar inte" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:285 #, c-format msgid "aggregates cannot accept set arguments" msgstr "aggregat kan inte hantera mängder som argument" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:289 #, c-format msgid "procedures cannot accept set arguments" msgstr "procedurer kan inte ta emot mängder som argument" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:293 #, c-format msgid "functions cannot accept set arguments" msgstr "funktioner kan inte hantera mängder som argument" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:303 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "VARIADIC-parameter måste vara den sista indataparametern" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:323 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "VARIADIC-parameter måste vara den sista parametern" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:348 #, c-format msgid "VARIADIC parameter must be an array" msgstr "VARIADIC-parameter måste vara en array" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:393 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "parameternamn \"%s\" använt mer än en gång" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:411 #, c-format msgid "only input parameters can have default values" msgstr "bara inputparametrar kan ha default-värden" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:426 #, c-format msgid "cannot use table references in parameter default value" msgstr "kan inte använda tabellreferenser i parameters default-värde" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:450 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "indataparametrar efter en med default-värde måste också ha default-värden" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:460 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "procedurers OUT-parametrar kan inte komma efter en parameter med default-värde" -#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#: commands/functioncmds.c:602 commands/functioncmds.c:781 #, c-format msgid "invalid attribute in procedure definition" msgstr "ogiltigt attribut i procedurdefinition" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:698 #, c-format msgid "support function %s must return type %s" msgstr "supportfunktion %s måste returnera typ %s" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:709 #, c-format msgid "must be superuser to specify a support function" msgstr "måste vara en superuser för att ange en supportfunktion" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:830 commands/functioncmds.c:1433 #, c-format msgid "COST must be positive" msgstr "COST måste vara positiv" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:838 commands/functioncmds.c:1441 #, c-format msgid "ROWS must be positive" msgstr "ROWS måste vara positiv" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:867 #, c-format msgid "no function body specified" msgstr "ingen funktionskropp angiven" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:872 #, c-format msgid "duplicate function body specified" msgstr "dubbel funktionskropp angiven" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:877 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "inline SQL-funktionskropp stöds bara för språket SQL" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:919 #, c-format msgid "SQL function with unquoted function body cannot have polymorphic arguments" msgstr "SQL-funktion med ej citerad funktionskropp kan inte ha polymorfa argument" -#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#: commands/functioncmds.c:945 commands/functioncmds.c:964 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "%s stöds inte än i en ej citerad SQL-funktionskropp" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:992 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "bara en AS-sträng krävs för språk \"%s\"" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1097 #, c-format msgid "no language specified" msgstr "inget språk angivet" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 +#: commands/functioncmds.c:1105 commands/functioncmds.c:2106 #: commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "språk \"%s\" existerar inte" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1107 commands/functioncmds.c:2108 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Använd CREATE EXTENSION för att ladda in språket i databasen." -#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 +#: commands/functioncmds.c:1140 commands/functioncmds.c:1425 #, c-format msgid "only superuser can define a leakproof function" msgstr "bara en superuser kan definiera en leakproof-funktion" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1191 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "funktionens resultattyp måste vara %s på grund av OUT-parametrar" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1204 #, c-format msgid "function result type must be specified" msgstr "funktionens resultattyp måste anges" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1257 commands/functioncmds.c:1445 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "ROWS är inte applicerbar när funktionen inte returnerar en mängd" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1548 #, c-format msgid "source data type %s is a pseudo-type" msgstr "källdatatyp %s är en pseudo-typ" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1554 #, c-format msgid "target data type %s is a pseudo-type" msgstr "måldatatyp %s är en pseudo-typ" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1578 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "typomvandling kommer hoppas över då källdatatypen är en domän" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1583 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "typomvandling kommer hoppas över då måldatatypen är en domän" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1608 #, c-format msgid "cast function must take one to three arguments" msgstr "typomvandlingsfunktioner måste ha mellan ett och tre argument" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1614 #, c-format msgid "argument of cast function must match or be binary-coercible from source data type" msgstr "argumentet till typomvandlingsfunktion måsta matcha eller vara binärkonverterbar från källdatatypen" -#: commands/functioncmds.c:1617 +#: commands/functioncmds.c:1618 #, c-format msgid "second argument of cast function must be type %s" msgstr "andra argumentet till en typomvandlingsfunktion måste vara av typ %s" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1623 #, c-format msgid "third argument of cast function must be type %s" msgstr "tredje argumentet till en typomvandlingsfunktion måste vara av typ %s" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1630 #, c-format msgid "return data type of cast function must match or be binary-coercible to target data type" msgstr "returvärdet från typomvandlingsfunktion måste matcha eller vara binärkonverterbar till måldatatypen" -#: commands/functioncmds.c:1640 +#: commands/functioncmds.c:1641 #, c-format msgid "cast function must not be volatile" msgstr "typomvandlingsfunktioner får inte vara volatile" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1646 #, c-format msgid "cast function must be a normal function" msgstr "typomvandlingsgfunktionen måste vara en vanlig funktion" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1650 #, c-format msgid "cast function must not return a set" msgstr "typomvandlingsfunktionen får inte returnera en mängd" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1676 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "måste vara superuser för att skapa en typomvandling WITHOUT FUNCTION" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1691 #, c-format msgid "source and target data types are not physically compatible" msgstr "käll- och måldatatypen är inte kompatibla rent tekniskt" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1706 #, c-format msgid "composite data types are not binary-compatible" msgstr "composite-datatyper är inte binärkompatibla" -#: commands/functioncmds.c:1711 +#: commands/functioncmds.c:1712 #, c-format msgid "enum data types are not binary-compatible" msgstr "enum-datatyper är inte binärkompatibla" -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1718 #, c-format msgid "array data types are not binary-compatible" msgstr "array-datatyper är inte binärkompatibla" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1735 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "domändatatyper får inte markeras binärkompatibla" -#: commands/functioncmds.c:1744 +#: commands/functioncmds.c:1745 #, c-format msgid "source data type and target data type are the same" msgstr "kalldatatypen och måldatatypen är samma" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1778 #, c-format msgid "transform function must not be volatile" msgstr "transformfunktion får inte vara volatile" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1782 #, c-format msgid "transform function must be a normal function" msgstr "transformfunktion måste vara en normal funktion" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1786 #, c-format msgid "transform function must not return a set" msgstr "transformfunktion får inte returnera en mängd" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1790 #, c-format msgid "transform function must take one argument" msgstr "transformfunktion måster ta ett argument" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1794 #, c-format msgid "first argument of transform function must be type %s" msgstr "första argumentet till en transformfunktion måste vara av typen %s" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1833 #, c-format msgid "data type %s is a pseudo-type" msgstr "datatypen %s är en pseudo-typ" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1839 #, c-format msgid "data type %s is a domain" msgstr "datatypen %s är en domän" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1879 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "returdatatyp för FROM SQL-funktion måste vara %s" -#: commands/functioncmds.c:1904 +#: commands/functioncmds.c:1905 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "returdatatyp för TO SQL-funktion måste vara transformdatatypen" -#: commands/functioncmds.c:1931 +#: commands/functioncmds.c:1932 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "transform för typ %s språk \"%s\" finns redan" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2018 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "transform för typ %s språk \"%s\" finns inte" -#: commands/functioncmds.c:2041 +#: commands/functioncmds.c:2042 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "funktionen %s finns redan i schema \"%s\"" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2093 #, c-format msgid "no inline code specified" msgstr "ingen inline-kod angiven" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2139 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "språk \"%s\" stöder inte inline-kodexekvering" -#: commands/functioncmds.c:2233 +#: commands/functioncmds.c:2234 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -8693,12 +8694,12 @@ msgstr "kan inte skapa uteslutningsvillkor för partitionerad tabell \"%s\"" msgid "cannot create indexes on temporary tables of other sessions" msgstr "kan inte skapa index till temporära tabeller som tillhör andra sessioner" -#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184 +#: commands/indexcmds.c:766 commands/tablecmds.c:785 commands/tablespace.c:1184 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "kan inte sätta standard-tablespace för partitionerade relationer" -#: commands/indexcmds.c:798 commands/tablecmds.c:819 commands/tablecmds.c:3409 +#: commands/indexcmds.c:798 commands/tablecmds.c:816 commands/tablecmds.c:3418 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "bara delade relationer kan placeras i tablespace:et pg_global" @@ -8743,218 +8744,218 @@ msgstr "ej stöd för %s-villkor till partitionsnyckeldefinition" msgid "%s constraints cannot be used when partition keys include expressions." msgstr "%s-villkor kan inte användas när partitionsnyckel innehåller uttryck" -#: commands/indexcmds.c:1045 +#: commands/indexcmds.c:1048 #, c-format msgid "unique constraint on partitioned table must include all partitioning columns" msgstr "unikvillkor på partitionerad tabell måste inkludera alla partitioneringskolumner" -#: commands/indexcmds.c:1046 +#: commands/indexcmds.c:1049 #, c-format msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." msgstr "villkoret %s på tabell \"%s\" saknar kolumn \"%s\" som är en del av partioneringsnyckeln." -#: commands/indexcmds.c:1065 commands/indexcmds.c:1084 +#: commands/indexcmds.c:1068 commands/indexcmds.c:1087 #, c-format msgid "index creation on system columns is not supported" msgstr "skapa index för systemkolumner stöds inte" -#: commands/indexcmds.c:1313 tcop/utility.c:1526 +#: commands/indexcmds.c:1316 tcop/utility.c:1526 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "kan inte skapa unikt index för partitionerad tabell \"%s\"" -#: commands/indexcmds.c:1315 tcop/utility.c:1528 +#: commands/indexcmds.c:1318 tcop/utility.c:1528 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "Tabell \"%s\" innehåller partitioner som är främmande tabeller." -#: commands/indexcmds.c:1827 +#: commands/indexcmds.c:1803 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "funktioner i indexpredikat måste vara markerade IMMUTABLE" -#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:2513 -#: parser/parse_utilcmd.c:2648 +#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2529 +#: parser/parse_utilcmd.c:2664 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "kolumn \"%s\" angiven i en nyckel existerar inte" -#: commands/indexcmds.c:1929 parser/parse_utilcmd.c:1812 +#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1817 #, c-format msgid "expressions are not supported in included columns" msgstr "uttryck stöds inte i inkluderade kolumner" -#: commands/indexcmds.c:1970 +#: commands/indexcmds.c:1946 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "funktioner i indexuttryck måste vara markerade IMMUTABLE" -#: commands/indexcmds.c:1985 +#: commands/indexcmds.c:1961 #, c-format msgid "including column does not support a collation" msgstr "inkluderad kolumn stöder inte jämförelse (collation)" -#: commands/indexcmds.c:1989 +#: commands/indexcmds.c:1965 #, c-format msgid "including column does not support an operator class" msgstr "inkluderad kolumn stöder inte en operatorklass" -#: commands/indexcmds.c:1993 +#: commands/indexcmds.c:1969 #, c-format msgid "including column does not support ASC/DESC options" msgstr "inkluderad kolumn stöder inte ASC/DESC-flaggor" -#: commands/indexcmds.c:1997 +#: commands/indexcmds.c:1973 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "inkluderad kolumn stöder inte NULLS FIRST/LAST-flaggor" -#: commands/indexcmds.c:2038 +#: commands/indexcmds.c:2014 #, c-format msgid "could not determine which collation to use for index expression" msgstr "kunde inte bestämma vilken jämförelse (collation) som skulle användas för indexuttryck" -#: commands/indexcmds.c:2046 commands/tablecmds.c:17469 commands/typecmds.c:807 -#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3774 +#: commands/indexcmds.c:2022 commands/tablecmds.c:17580 commands/typecmds.c:807 +#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3773 #: utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" msgstr "jämförelser (collation) stöds inte av typ %s" -#: commands/indexcmds.c:2111 +#: commands/indexcmds.c:2087 #, c-format msgid "operator %s is not commutative" msgstr "operatorn %s är inte kommutativ" -#: commands/indexcmds.c:2113 +#: commands/indexcmds.c:2089 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "Bara kommutativa operatorer kan användas i uteslutningsvillkor" -#: commands/indexcmds.c:2139 +#: commands/indexcmds.c:2115 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "operatorn \"%s\" är inte en medlem i operatorfamiljen \"%s\"" -#: commands/indexcmds.c:2142 +#: commands/indexcmds.c:2118 #, c-format msgid "The exclusion operator must be related to the index operator class for the constraint." msgstr "Uteslutningsoperatorn måste vara relaterad till indexoperatorklassen för villkoret." -#: commands/indexcmds.c:2177 +#: commands/indexcmds.c:2153 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "accessmetod \"%s\" stöder inte ASC/DESC-flaggor" -#: commands/indexcmds.c:2182 +#: commands/indexcmds.c:2158 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "accessmetod \"%s\" stöder inte NULLS FIRST/LAST-flaggor" -#: commands/indexcmds.c:2228 commands/tablecmds.c:17494 -#: commands/tablecmds.c:17500 commands/typecmds.c:2301 +#: commands/indexcmds.c:2204 commands/tablecmds.c:17605 +#: commands/tablecmds.c:17611 commands/typecmds.c:2301 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "datatyp %s har ingen standardoperatorklass för accessmetod \"%s\"" -#: commands/indexcmds.c:2230 +#: commands/indexcmds.c:2206 #, c-format msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "Du måste ange en operatorklass för indexet eller definiera en standardoperatorklass för datatypen." -#: commands/indexcmds.c:2259 commands/indexcmds.c:2267 +#: commands/indexcmds.c:2235 commands/indexcmds.c:2243 #: commands/opclasscmds.c:205 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "operatorklass \"%s\" existerar inte för accessmetod \"%s\"" -#: commands/indexcmds.c:2281 commands/typecmds.c:2289 +#: commands/indexcmds.c:2257 commands/typecmds.c:2289 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "operatorklass \"%s\" accepterar inte datatypen %s" -#: commands/indexcmds.c:2371 +#: commands/indexcmds.c:2347 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "det finns flera standardoperatorklasser för datatypen %s" -#: commands/indexcmds.c:2699 +#: commands/indexcmds.c:2675 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "okänd REINDEX-flagga \"%s\"" -#: commands/indexcmds.c:2923 +#: commands/indexcmds.c:2899 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "tabell \"%s\" har inga index som kan reindexeras parallellt" -#: commands/indexcmds.c:2937 +#: commands/indexcmds.c:2913 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "tabell \"%s\" har inga index som kan omindexeras" -#: commands/indexcmds.c:2982 commands/indexcmds.c:3492 -#: commands/indexcmds.c:3620 +#: commands/indexcmds.c:2958 commands/indexcmds.c:3468 +#: commands/indexcmds.c:3596 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "kan inte omindexera systemkataloger parallellt" -#: commands/indexcmds.c:3005 +#: commands/indexcmds.c:2981 #, c-format msgid "can only reindex the currently open database" msgstr "kan bara omindexera den aktiva databasen" -#: commands/indexcmds.c:3099 +#: commands/indexcmds.c:3075 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "kan inte omindexera systemkataloger parallellt, hoppar över alla" -#: commands/indexcmds.c:3132 +#: commands/indexcmds.c:3108 #, c-format msgid "cannot move system relations, skipping all" msgstr "kan inte flytta systemrelationer, hoppar över alla" -#: commands/indexcmds.c:3178 +#: commands/indexcmds.c:3154 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "vid omindexering av partitionerad tabell \"%s.%s\"" -#: commands/indexcmds.c:3181 +#: commands/indexcmds.c:3157 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "vid omindexering av partitionerat index \"%s.%s\"" -#: commands/indexcmds.c:3372 commands/indexcmds.c:4228 +#: commands/indexcmds.c:3348 commands/indexcmds.c:4204 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "tabell \"%s.%s\" omindexerades" -#: commands/indexcmds.c:3524 commands/indexcmds.c:3576 +#: commands/indexcmds.c:3500 commands/indexcmds.c:3552 #, c-format msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" msgstr "kan inte parallellt omindexera ogiltigt index \"%s.%s\", hoppar över" -#: commands/indexcmds.c:3530 +#: commands/indexcmds.c:3506 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "kan inte parallellt omindexera uteslutningsvillkorsindex \"%s.%s\", hoppar över" -#: commands/indexcmds.c:3685 +#: commands/indexcmds.c:3661 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "kan inte parallellt omindexera denna sorts relation" -#: commands/indexcmds.c:3706 +#: commands/indexcmds.c:3682 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "kan inte flytta ickedelad relation till tabellutryumme \"%s\"" -#: commands/indexcmds.c:4209 commands/indexcmds.c:4221 +#: commands/indexcmds.c:4185 commands/indexcmds.c:4197 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "index \"%s.%s\" omindexerades" -#: commands/indexcmds.c:4211 commands/indexcmds.c:4230 +#: commands/indexcmds.c:4187 commands/indexcmds.c:4206 #, c-format msgid "%s." msgstr "%s." @@ -9267,10 +9268,10 @@ msgid "operator attribute \"%s\" cannot be changed" msgstr "operatorattribut \"%s\" kan inte ändras" #: 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:17062 -#: commands/tablecmds.c:17097 commands/trigger.c:323 commands/trigger.c:1339 +#: commands/tablecmds.c:1613 commands/tablecmds.c:2216 +#: commands/tablecmds.c:3529 commands/tablecmds.c:6411 +#: commands/tablecmds.c:9238 commands/tablecmds.c:17167 +#: commands/tablecmds.c:17202 commands/trigger.c:323 commands/trigger.c:1339 #: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 #: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 #, c-format @@ -9323,7 +9324,7 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "kan inte skapa en WITH HOLD-markör i en säkerhetsbegränsad operation" #: 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:2896 utils/adt/xml.c:3066 #, c-format msgid "cursor \"%s\" does not exist" msgstr "markör \"%s\" existerar inte" @@ -9370,7 +9371,7 @@ msgstr "måste vara en superuser för att skapa ett eget procedurspråk" #: commands/publicationcmds.c:131 postmaster/postmaster.c:1208 #: postmaster/postmaster.c:1306 storage/file/fd.c:3911 -#: utils/init/miscinit.c:1815 +#: utils/init/miscinit.c:1822 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "ogiltigt listsyntax för parameter \"%s\"" @@ -9606,123 +9607,123 @@ msgstr "säkerhetsetiketter stöds inte på denna plattform" msgid "cannot set security label on relation \"%s\"" msgstr "kan inte sätta säkerhetsetikett på relationen \"%s\"" -#: commands/sequence.c:754 +#: commands/sequence.c:761 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "nextval: har nått det maximala värdet för sekvensen \"%s\" (%lld)" -#: commands/sequence.c:773 +#: commands/sequence.c:780 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "nextval: har nått det minimala värder för sekvensen \"%s\" (%lld)" -#: commands/sequence.c:891 +#: commands/sequence.c:898 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "currval på sekvensen \"%s\" är inte definierad ännu i denna session" -#: commands/sequence.c:910 commands/sequence.c:916 +#: commands/sequence.c:917 commands/sequence.c:923 #, c-format msgid "lastval is not yet defined in this session" msgstr "lastval är inte definierad ännu i denna session" -#: commands/sequence.c:996 +#: commands/sequence.c:1003 #, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" msgstr "setval: värdet %lld är utanför giltigt intervall för sekvensen \"%s\" (%lld..%lld)" -#: commands/sequence.c:1365 +#: commands/sequence.c:1372 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "ogiltig sekvensinställning SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1398 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "identitetskolumntyp måste vara smallint, integer eller bigint" -#: commands/sequence.c:1392 +#: commands/sequence.c:1399 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "sekvenstyp måste vara smallint, integer eller bigint" -#: commands/sequence.c:1426 +#: commands/sequence.c:1433 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT får inte vara noll" -#: commands/sequence.c:1474 +#: commands/sequence.c:1481 #, c-format msgid "MAXVALUE (%lld) is out of range for sequence data type %s" msgstr "MAXVALUE (%lld) är utanför giltigt intervall för sekvensdatatyp %s" -#: commands/sequence.c:1506 +#: commands/sequence.c:1513 #, c-format msgid "MINVALUE (%lld) is out of range for sequence data type %s" msgstr "MINVALUE (%lld) är utanför giltigt intervall för sekvensdatatyp %s" -#: commands/sequence.c:1514 +#: commands/sequence.c:1521 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld) måste vara mindre än MAXVALUE (%lld)" -#: commands/sequence.c:1535 +#: commands/sequence.c:1542 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "START-värde (%lld) kan inte vara mindre än MINVALUE (%lld)" -#: commands/sequence.c:1541 +#: commands/sequence.c:1548 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "START-värde (%lld) kan inte vara större än MAXVALUE (%lld)" -#: commands/sequence.c:1565 +#: commands/sequence.c:1572 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "RESTART-värde (%lld) kan inte vara mindre än MINVALUE (%lld)" -#: commands/sequence.c:1571 +#: commands/sequence.c:1578 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "RESTART-värde (%lld) kan inte vara större än MAXVALUE (%lld)" -#: commands/sequence.c:1582 +#: commands/sequence.c:1589 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "CACHE (%lld) måste vara större än noll" -#: commands/sequence.c:1618 +#: commands/sequence.c:1625 #, c-format msgid "invalid OWNED BY option" msgstr "ogiltigt alternativ till OWNED BY" -#: commands/sequence.c:1619 +#: commands/sequence.c:1626 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "Ange OWNED BY tabell.kolumn eller OWNED BY NONE." -#: commands/sequence.c:1644 +#: commands/sequence.c:1651 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "sekvens kan inte ägas av relationen \"%s\"" -#: commands/sequence.c:1652 +#: commands/sequence.c:1659 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "sekvensen måste ha samma ägare som tabellen den är länkad till" -#: commands/sequence.c:1656 +#: commands/sequence.c:1663 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "tabellen måste vara i samma schema som tabellen den är länkad till" -#: commands/sequence.c:1678 +#: commands/sequence.c:1685 #, c-format msgid "cannot change ownership of identity sequence" msgstr "kan inte byta ägare på identitetssekvens" -#: commands/sequence.c:1679 commands/tablecmds.c:13891 -#: commands/tablecmds.c:16488 +#: commands/sequence.c:1686 commands/tablecmds.c:13991 +#: commands/tablecmds.c:16590 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Sekvens \"%s\" är länkad till tabell \"%s\"" @@ -9792,12 +9793,12 @@ msgstr "duplicerade kolumnnamn i statistikdefinition" msgid "duplicate expression in statistics definition" msgstr "duplicerade uttryck i statistikdefinition" -#: commands/statscmds.c:619 commands/tablecmds.c:8180 +#: commands/statscmds.c:619 commands/tablecmds.c:8233 #, c-format msgid "statistics target %d is too low" msgstr "statistikmålet %d är för lågt" -#: commands/statscmds.c:627 commands/tablecmds.c:8188 +#: commands/statscmds.c:627 commands/tablecmds.c:8241 #, c-format msgid "lowering statistics target to %d" msgstr "minskar statistikmålet till %d" @@ -9812,7 +9813,7 @@ msgstr "statistikobjekt \"%s.%s\" finns inte, hoppar över" msgid "unrecognized subscription parameter: \"%s\"" msgstr "okänd prenumerationsparameter: \"%s\"" -#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398 +#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:395 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "okänt källvärde: \"%s\"" @@ -9859,7 +9860,7 @@ msgid "Only roles with privileges of the \"%s\" role may create subscriptions." msgstr "Bara roller med rättigheter från rollen \"%s\" får skapa prenumerationer" #: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 -#: replication/logical/tablesync.c:1309 replication/logical/worker.c:4616 +#: replication/logical/tablesync.c:1334 replication/logical/worker.c:4616 #, c-format msgid "could not connect to the publisher: %s" msgstr "kunde inte ansluta till publicerare: %s" @@ -9893,7 +9894,7 @@ msgstr "kan inte sätta %s för påslagen prenumeration" #: commands/subscriptioncmds.c:1234 #, c-format msgid "cannot enable subscription that does not have a slot name" -msgstr "kan inte slå på prenumeration som inte har ett slot-namn" +msgstr "kan inte aktivera prenumeration som inte har ett slot-namn" #: commands/subscriptioncmds.c:1278 commands/subscriptioncmds.c:1329 #, c-format @@ -9915,12 +9916,6 @@ msgstr "ALTER SUBSCRIPTION med refresh och copy_data stöds inte när two_phase msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "Använd ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false eller med copy_data = false eller använd DROP/CREATE SUBSCRIPTION." -#. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1331 -#, c-format -msgid "Use %s instead." -msgstr "Använd %s istället." - #. translator: %s is an SQL ALTER command #: commands/subscriptioncmds.c:1345 #, c-format @@ -9989,8 +9984,8 @@ msgstr[1] "Prenumerationen som skapas läser från publliceringar (%s) som inneh msgid "Verify that initial data copied from the publisher tables did not come from other origins." msgstr "Kontrollera att den initiala datan som kopieras från publicerade tabeller inte kom från andra källor." -#: commands/subscriptioncmds.c:2142 replication/logical/tablesync.c:876 -#: replication/pgoutput/pgoutput.c:1115 +#: commands/subscriptioncmds.c:2142 replication/logical/tablesync.c:893 +#: replication/pgoutput/pgoutput.c:1112 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "kunde inte ha olika kolumnlistor för tabellen \"%s.%s\" i olika publiceringar" @@ -10087,8 +10082,8 @@ msgstr "materialiserad vy \"%s\" finns inte, hoppar över" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Använd DROP MATERIALIZED VIEW för att ta bort en materialiserad vy." -#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:18978 -#: parser/parse_utilcmd.c:2245 +#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19098 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "index \"%s\" does not exist" msgstr "index \"%s\" finns inte" @@ -10111,8 +10106,8 @@ msgstr "\"%s\" är inte en typ" msgid "Use DROP TYPE to remove a type." msgstr "Använd DROP TYPE för att ta bort en typ." -#: commands/tablecmds.c:282 commands/tablecmds.c:13730 -#: commands/tablecmds.c:16193 +#: commands/tablecmds.c:282 commands/tablecmds.c:13830 +#: commands/tablecmds.c:16295 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "främmande tabell \"%s\" finns inte" @@ -10126,130 +10121,130 @@ msgstr "främmande tabell \"%s\" finns inte, hoppar över" msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Använd DROP FOREIGN TABLE för att ta bort en främmande tabell." -#: commands/tablecmds.c:700 +#: commands/tablecmds.c:701 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT kan bara användas på temporära tabeller" -#: commands/tablecmds.c:731 +#: commands/tablecmds.c:732 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "kan inte skapa temporär tabell i en säkerhetsbegränsad operation" -#: commands/tablecmds.c:767 commands/tablecmds.c:15038 +#: commands/tablecmds.c:768 commands/tablecmds.c:15140 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "relationen \"%s\" skulle ärvas mer än en gång" -#: commands/tablecmds.c:955 +#: commands/tablecmds.c:952 #, c-format msgid "specifying a table access method is not supported on a partitioned table" msgstr "ange tabellaccessmetod stöds inte för en partitionerad tabell" -#: commands/tablecmds.c:1048 +#: commands/tablecmds.c:1045 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\" är inte partitionerad" -#: commands/tablecmds.c:1142 +#: commands/tablecmds.c:1139 #, c-format msgid "cannot partition using more than %d columns" msgstr "kan inte partitionera med fler än %d kolumner" -#: commands/tablecmds.c:1198 +#: commands/tablecmds.c:1195 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "kan inte skapa främmande partition för partitionerad tabell \"%s\"" -#: commands/tablecmds.c:1200 +#: commands/tablecmds.c:1197 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Tabell \"%s\" innehåller index som är unika." -#: commands/tablecmds.c:1365 +#: commands/tablecmds.c:1362 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY stöder inte att slänga flera objekt" -#: commands/tablecmds.c:1369 +#: commands/tablecmds.c:1366 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY stöder inte CASCADE" -#: commands/tablecmds.c:1473 +#: commands/tablecmds.c:1470 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "kan inte parallellt ta bort partitionerat index \"%s\"" -#: commands/tablecmds.c:1761 +#: commands/tablecmds.c:1758 #, c-format msgid "cannot truncate only a partitioned table" msgstr "kan inte trunkera enbart en partitionerad tabell" -#: commands/tablecmds.c:1762 +#: commands/tablecmds.c:1759 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Ange inte nyckelordet ONLY eller använd TRUNCATE ONLY direkt på partitionerna." -#: commands/tablecmds.c:1835 +#: commands/tablecmds.c:1832 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "truncate svämmar över (cascades) till \"%s\"" -#: commands/tablecmds.c:2199 +#: commands/tablecmds.c:2196 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "kan inte trunkera främmande tabell \"%s\"" -#: commands/tablecmds.c:2256 +#: commands/tablecmds.c:2253 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "kan inte trunkera temporära tabeller tillhörande andra sessioner" -#: commands/tablecmds.c:2488 commands/tablecmds.c:14935 +#: commands/tablecmds.c:2485 commands/tablecmds.c:15037 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "kan inte ärva från partitionerad tabell \"%s\"" -#: commands/tablecmds.c:2493 +#: commands/tablecmds.c:2490 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "kan inte ärva från partition \"%s\"" -#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475 -#: parser/parse_utilcmd.c:2617 +#: commands/tablecmds.c:2498 parser/parse_utilcmd.c:2491 +#: parser/parse_utilcmd.c:2633 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "ärvd relation \"%s\" är inte en tabell eller främmande tabell" -#: commands/tablecmds.c:2513 +#: commands/tablecmds.c:2510 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "kan inte skapa en temporär relation som partition till en permanent relation \"%s\"" -#: commands/tablecmds.c:2522 commands/tablecmds.c:14914 +#: commands/tablecmds.c:2519 commands/tablecmds.c:15016 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "kan inte ärva från en temporär relation \"%s\"" -#: commands/tablecmds.c:2532 commands/tablecmds.c:14922 +#: commands/tablecmds.c:2529 commands/tablecmds.c:15024 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "kan inte ärva från en temporär relation i en annan session" -#: commands/tablecmds.c:2585 +#: commands/tablecmds.c:2582 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "slår samman multipla ärvda definitioner av kolumn \"%s\"" -#: commands/tablecmds.c:2597 +#: commands/tablecmds.c:2594 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "ärvd kolumn \"%s\" har en typkonflikt" -#: commands/tablecmds.c:2599 commands/tablecmds.c:2628 -#: commands/tablecmds.c:2647 commands/tablecmds.c:2919 -#: commands/tablecmds.c:2955 commands/tablecmds.c:2971 +#: commands/tablecmds.c:2596 commands/tablecmds.c:2625 +#: commands/tablecmds.c:2644 commands/tablecmds.c:2916 +#: commands/tablecmds.c:2952 commands/tablecmds.c:2968 #: 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 @@ -10260,1219 +10255,1219 @@ msgstr "ärvd kolumn \"%s\" har en typkonflikt" msgid "%s versus %s" msgstr "%s kontra %s" -#: commands/tablecmds.c:2612 +#: commands/tablecmds.c:2609 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "ärvd kolumn \"%s\" har en jämförelsekonflikt" -#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 -#: commands/tablecmds.c:6849 +#: commands/tablecmds.c:2611 commands/tablecmds.c:2932 +#: commands/tablecmds.c:6894 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" kontra \"%s\"" -#: commands/tablecmds.c:2626 +#: commands/tablecmds.c:2623 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "ärvd kolumn \"%s\" har en lagringsparameterkonflikt" -#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#: commands/tablecmds.c:2642 commands/tablecmds.c:2966 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "kolumn \"%s\" har en konflikt i komprimeringsmetoden" -#: commands/tablecmds.c:2661 +#: commands/tablecmds.c:2658 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "ärvd kolumn \"%s\" har en genereringskonflikt" -#: 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:2764 commands/tablecmds.c:2819 +#: commands/tablecmds.c:12523 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1745 +#: parser/parse_utilcmd.c:1853 #, c-format msgid "cannot convert whole-row table reference" msgstr "kan inte konvertera hela-raden-tabellreferens" -#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 +#: commands/tablecmds.c:2765 parser/parse_utilcmd.c:1266 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Genereringsuttryck för kolumn \"%s\" innehåller en hela-raden-referens på tabellen \"%s\"." -#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 +#: commands/tablecmds.c:2820 parser/parse_utilcmd.c:1309 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Villkor \"%s\" innehåller en hela-raden-referens på tabellen \"%s\"." -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:2898 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "slår samman kolumn \"%s\" med ärvd definition" -#: commands/tablecmds.c:2905 +#: commands/tablecmds.c:2902 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "flyttar och slår samman kolumn \"%s\" med ärvd definition" -#: commands/tablecmds.c:2906 +#: commands/tablecmds.c:2903 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Användarangiven kolumn flyttad till den ärvda kolumnens position." -#: commands/tablecmds.c:2917 +#: commands/tablecmds.c:2914 #, c-format msgid "column \"%s\" has a type conflict" msgstr "kolumnen \"%s\" har en typkonflikt" -#: commands/tablecmds.c:2933 +#: commands/tablecmds.c:2930 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "kolumn \"%s\" har en jämförelsekonflikt" -#: commands/tablecmds.c:2953 +#: commands/tablecmds.c:2950 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "kolumnen \"%s\" har en lagringsparameterkonflikt" -#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 +#: commands/tablecmds.c:2996 commands/tablecmds.c:3083 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "kolumnen \"%s\" ärver från genererad kolumn men har \"default\"" -#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 +#: commands/tablecmds.c:3001 commands/tablecmds.c:3088 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "kolumnen \"%s\" ärver från genererad kolumn men har \"identity\"" -#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#: commands/tablecmds.c:3009 commands/tablecmds.c:3096 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "barnkolumn \"%s\" använder genereringsuttryck" -#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 +#: commands/tablecmds.c:3011 commands/tablecmds.c:3098 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "En barntabellkolumn kan inte vara genererad om inte dess förälderkolumn är det." -#: commands/tablecmds.c:3147 +#: commands/tablecmds.c:3144 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "kolumnen \"%s\" ärver motstridiga genereringsuttryck" -#: commands/tablecmds.c:3149 +#: commands/tablecmds.c:3146 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "För att lösa konflikten, ange ett explicit genereringsuttryck." -#: commands/tablecmds.c:3153 +#: commands/tablecmds.c:3150 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "kolumnen \"%s\" ärver motstridiga default-värden" -#: commands/tablecmds.c:3155 +#: commands/tablecmds.c:3152 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "För att lösa konflikten, ange ett explicit default-värde." -#: commands/tablecmds.c:3205 +#: commands/tablecmds.c:3202 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "check-villkor \"%s\" finns med flera gånger men med olika uttryck" -#: commands/tablecmds.c:3418 +#: commands/tablecmds.c:3427 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "kan inte flytta temporära tabeller tillhörande andra sessioner" -#: commands/tablecmds.c:3488 +#: commands/tablecmds.c:3497 #, c-format msgid "cannot rename column of typed table" msgstr "kan inte byta namn på kolumn i typad tabell" -#: commands/tablecmds.c:3507 +#: commands/tablecmds.c:3516 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "kan inte byta namn på kolumner i relation \"%s\"" -#: commands/tablecmds.c:3602 +#: commands/tablecmds.c:3611 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "ärvd kolumn \"%s\" måste döpas om i barntabellerna också" -#: commands/tablecmds.c:3634 +#: commands/tablecmds.c:3643 #, c-format msgid "cannot rename system column \"%s\"" msgstr "kan inte ändra döpa om systemkolumn \"%s\"" -#: commands/tablecmds.c:3649 +#: commands/tablecmds.c:3658 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "kan inte döpa om ärvd kolumn \"%s\"" -#: commands/tablecmds.c:3801 +#: commands/tablecmds.c:3810 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "ärvt villkor \"%s\" måste döpas om i barntabellerna också" -#: commands/tablecmds.c:3808 +#: commands/tablecmds.c:3817 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "kan inte döpa om ärvt villkor \"%s\"" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4105 +#: commands/tablecmds.c:4114 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "kan inte %s \"%s\" då den används av aktiva frågor i denna session" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4114 +#: commands/tablecmds.c:4123 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "kan inte %s \"%s\" då den har triggerhändelser som väntar" -#: commands/tablecmds.c:4581 +#: commands/tablecmds.c:4149 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "kan inte ändra temporära tabeller för andra sessioner" + +#: commands/tablecmds.c:4621 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "kan inte ändra partition \"%s\" som har en ofullständing bortkoppling" -#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 +#: commands/tablecmds.c:4814 commands/tablecmds.c:4829 #, c-format msgid "cannot change persistence setting twice" msgstr "kan inte ändra persistensinställning två gånger" -#: commands/tablecmds.c:4810 +#: commands/tablecmds.c:4850 #, c-format msgid "cannot change access method of a partitioned table" msgstr "kan inte byta accessmetod på partitionerad tabell" -#: commands/tablecmds.c:4816 +#: commands/tablecmds.c:4856 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "kan inte ha flera underkommandon SET ACCESS METHOD" -#: commands/tablecmds.c:5537 +#: commands/tablecmds.c:5577 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "kan inte skriva om systemkolumn \"%s\"" -#: commands/tablecmds.c:5543 +#: commands/tablecmds.c:5583 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "kan inte skriva om tabell \"%s\" som används som katalogtabell" -#: commands/tablecmds.c:5553 +#: commands/tablecmds.c:5595 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "kan inte skriva om temporära tabeller som tillhör andra sessioner" -#: commands/tablecmds.c:6048 +#: commands/tablecmds.c:6090 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "kolumn \"%s\" i relation \"%s\" innehåller null-värden" -#: commands/tablecmds.c:6065 +#: commands/tablecmds.c:6107 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "check-villkor \"%s\" i relation \"%s\" bryts av någon rad" -#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6126 partitioning/partbounds.c:3388 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "uppdaterat partitionsintegritetsvillkor för standardpartition \"%s\" skulle brytas mot av någon rad" -#: commands/tablecmds.c:6090 +#: commands/tablecmds.c:6132 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "partitionsvillkor i relation \"%s\" bryts mot av någon rad" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6352 +#: commands/tablecmds.c:6394 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTER action %s kan inte utföras på relationen \"%s\"" -#: commands/tablecmds.c:6607 commands/tablecmds.c:6614 +#: commands/tablecmds.c:6649 commands/tablecmds.c:6656 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "kan inte ändra typen \"%s\" eftersom kolumn \"%s.%s\" använder den" -#: commands/tablecmds.c:6621 +#: commands/tablecmds.c:6663 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kan inte ändra främmande tabell \"%s\" eftersom kolumn \"%s.%s\" använder dess radtyp" -#: commands/tablecmds.c:6628 +#: commands/tablecmds.c:6670 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kan inte ändra tabell \"%s\" eftersom kolumn \"%s.%s\" använder dess radtyp" -#: commands/tablecmds.c:6684 +#: commands/tablecmds.c:6726 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "kan inte ändra typ \"%s\" eftersom det är typen för en typad tabell" -#: commands/tablecmds.c:6686 +#: commands/tablecmds.c:6728 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Använd ALTER ... CASCADE för att ändra på de typade tabellerna också." -#: commands/tablecmds.c:6732 +#: commands/tablecmds.c:6774 #, c-format msgid "type %s is not a composite type" msgstr "typen %s är inte en composite-typ" -#: commands/tablecmds.c:6759 +#: commands/tablecmds.c:6801 #, c-format msgid "cannot add column to typed table" msgstr "kan inte lägga till kolumn till typad tabell" -#: commands/tablecmds.c:6812 +#: commands/tablecmds.c:6857 #, c-format msgid "cannot add column to a partition" msgstr "kan inte lägga till kolumn till partition" -#: commands/tablecmds.c:6841 commands/tablecmds.c:15165 +#: commands/tablecmds.c:6886 commands/tablecmds.c:15267 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "barntabell \"%s\" har annan typ på kolumn \"%s\"" -#: commands/tablecmds.c:6847 commands/tablecmds.c:15172 +#: commands/tablecmds.c:6892 commands/tablecmds.c:15274 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "barntabell \"%s\" har annan jämförelse (collation) på kolumn \"%s\"" -#: commands/tablecmds.c:6865 +#: commands/tablecmds.c:6910 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "slår samman definitionen av kolumn \"%s\" för barn \"%s\"" -#: commands/tablecmds.c:6908 +#: commands/tablecmds.c:6957 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "kan inte rekursivt lägga till identitetskolumn till tabell som har barntabeller" -#: commands/tablecmds.c:7159 +#: commands/tablecmds.c:7208 #, c-format msgid "column must be added to child tables too" msgstr "kolumnen måste läggas till i barntabellerna också" -#: commands/tablecmds.c:7237 +#: commands/tablecmds.c:7286 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "kolumn \"%s\" i relation \"%s\" finns redan, hoppar över" -#: commands/tablecmds.c:7244 +#: commands/tablecmds.c:7293 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "kolumn \"%s\" i relation \"%s\" finns redan" -#: commands/tablecmds.c:7310 commands/tablecmds.c:12094 +#: commands/tablecmds.c:7359 commands/tablecmds.c:12161 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "kan inte ta bort villkor från bara den partitionerade tabellen när partitioner finns" -#: commands/tablecmds.c:7311 commands/tablecmds.c:7628 -#: commands/tablecmds.c:8593 commands/tablecmds.c:12095 +#: commands/tablecmds.c:7360 commands/tablecmds.c:7677 +#: commands/tablecmds.c:8650 commands/tablecmds.c:12162 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Ange inte nyckelordet 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:7397 commands/tablecmds.c:7603 +#: commands/tablecmds.c:7745 commands/tablecmds.c:7863 +#: commands/tablecmds.c:7957 commands/tablecmds.c:8016 +#: commands/tablecmds.c:8135 commands/tablecmds.c:8274 +#: commands/tablecmds.c:8344 commands/tablecmds.c:8478 +#: commands/tablecmds.c:12316 commands/tablecmds.c:13853 +#: commands/tablecmds.c:16384 #, c-format msgid "cannot alter system column \"%s\"" msgstr "kan inte ändra systemkolumn \"%s\"" -#: commands/tablecmds.c:7354 commands/tablecmds.c:7702 +#: commands/tablecmds.c:7403 commands/tablecmds.c:7751 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "kolumn \"%s\" i relation \"%s\" är en identitetskolumn" -#: commands/tablecmds.c:7397 +#: commands/tablecmds.c:7446 #, c-format msgid "column \"%s\" is in a primary key" msgstr "kolumn \"%s\" är del av en primärnyckel" -#: commands/tablecmds.c:7402 +#: commands/tablecmds.c:7451 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "kolumnen \"%s\" finns i ett index som används som replikaidentitet" -#: commands/tablecmds.c:7425 +#: commands/tablecmds.c:7474 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "kolumn \"%s\" är markerad NOT NULL i föräldratabellen" -#: commands/tablecmds.c:7625 commands/tablecmds.c:9077 +#: commands/tablecmds.c:7674 commands/tablecmds.c:9134 #, c-format msgid "constraint must be added to child tables too" msgstr "villkoret måste läggas till i barntabellerna också" -#: commands/tablecmds.c:7626 +#: commands/tablecmds.c:7675 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Kolumn \"%s\" i relation \"%s\" är inte redan NOT NULL." -#: commands/tablecmds.c:7704 -#, c-format -msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." -msgstr "Använd ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY istället." - -#: commands/tablecmds.c:7709 +#: commands/tablecmds.c:7760 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "kolumn \"%s\" i relation \"%s\" är en genererad kolumn" -#: commands/tablecmds.c:7712 -#, c-format -msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." -msgstr "Använd ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION istället." - -#: commands/tablecmds.c:7821 +#: commands/tablecmds.c:7874 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "kolumn \"%s\" i relation \"%s\" måste deklareras NOT NULL innan identitet kan läggas till" -#: commands/tablecmds.c:7827 +#: commands/tablecmds.c:7880 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "kolumn \"%s\" i relation \"%s\" är redan en identitetskolumn" -#: commands/tablecmds.c:7833 +#: commands/tablecmds.c:7886 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "kolumn \"%s\" i relation \"%s\" har redan ett standardvärde" -#: commands/tablecmds.c:7910 commands/tablecmds.c:7971 +#: commands/tablecmds.c:7963 commands/tablecmds.c:8024 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "kolumn \"%s\" i relation \"%s\" är inte en identitetkolumn" -#: commands/tablecmds.c:7976 +#: commands/tablecmds.c:8029 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "kolumn \"%s\" i relation \"%s\" är inte en identitetkolumn, hoppar över" -#: commands/tablecmds.c:8029 +#: commands/tablecmds.c:8082 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION måste appliceras på barntabellerna också" -#: commands/tablecmds.c:8051 +#: commands/tablecmds.c:8104 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "kan inte slänga genererat uttryck på ärvd kolumn" -#: commands/tablecmds.c:8090 +#: commands/tablecmds.c:8143 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "kolumn \"%s\" i relation \"%s\" är inte en lagrad genererad kolumn" -#: commands/tablecmds.c:8095 +#: commands/tablecmds.c:8148 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "kolumn \"%s\" i relation \"%s\" är inte en lagrad genererad kolumn, hoppar över" -#: commands/tablecmds.c:8168 +#: commands/tablecmds.c:8221 #, c-format msgid "cannot refer to non-index column by number" msgstr "kan inte referera per nummer till en icke-index-kolumn " -#: commands/tablecmds.c:8211 +#: commands/tablecmds.c:8264 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "kolumnnummer %d i relation \"%s\" finns inte" -#: commands/tablecmds.c:8230 +#: commands/tablecmds.c:8283 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "kan inte ändra statistik på inkluderad kolumn \"%s\" i index \"%s\"" -#: commands/tablecmds.c:8235 +#: commands/tablecmds.c:8288 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "kan inte ändra statistik på icke-villkorskolumn \"%s\" i index \"%s\"" -#: commands/tablecmds.c:8237 +#: commands/tablecmds.c:8290 #, c-format msgid "Alter statistics on table column instead." msgstr "Ändra statistik på tabellkolumn istället." -#: commands/tablecmds.c:8472 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop column from typed table" msgstr "kan inte ta bort kolumn från typad tabell" -#: commands/tablecmds.c:8531 +#: commands/tablecmds.c:8588 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "kolumn \"%s\" i relation \"%s\" finns inte, hoppar över" -#: commands/tablecmds.c:8544 +#: commands/tablecmds.c:8601 #, c-format msgid "cannot drop system column \"%s\"" msgstr "kan inte ta bort systemkolumn \"%s\"" -#: commands/tablecmds.c:8554 +#: commands/tablecmds.c:8611 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "kan inte ta bort ärvd kolumn \"%s\"" -#: commands/tablecmds.c:8567 +#: commands/tablecmds.c:8624 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "kan inte slänga kolumnen \"%s\" då den är del av partitionsnyckeln för relationen \"%s\"" -#: commands/tablecmds.c:8592 +#: commands/tablecmds.c:8649 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "kan inte slänga kolumn från bara den partitionerade tabellen när partitioner finns" -#: commands/tablecmds.c:8797 +#: commands/tablecmds.c:8854 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX stöds inte på partionerade tabeller" -#: commands/tablecmds.c:8822 +#: commands/tablecmds.c:8879 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX kommer byta namn på index \"%s\" till \"%s\"" -#: commands/tablecmds.c:9159 +#: commands/tablecmds.c:9216 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "kan inte använda ONLY på främmande nyckel för partitionerad tabell \"%s\" som refererar till relationen \"%s\"" -#: commands/tablecmds.c:9165 +#: commands/tablecmds.c:9222 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "kan inte lägga till NOT VALID främmande nyckel till partitionerad tabell \"%s\" som refererar till relationen \"%s\"" -#: commands/tablecmds.c:9168 +#: commands/tablecmds.c:9225 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Denna finess stöds inte än på partitionerade tabeller." -#: commands/tablecmds.c:9175 commands/tablecmds.c:9631 +#: commands/tablecmds.c:9232 commands/tablecmds.c:9688 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "refererad relation \"%s\" är inte en tabell" -#: commands/tablecmds.c:9198 +#: commands/tablecmds.c:9255 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "villkor på permanenta tabeller får bara referera till permanenta tabeller" -#: commands/tablecmds.c:9205 +#: commands/tablecmds.c:9262 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "villkor på ologgade tabeller får bara referera till permanenta eller ologgade tabeller" -#: commands/tablecmds.c:9211 +#: commands/tablecmds.c:9268 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "villkor på temporära tabeller får bara referera till temporära tabeller" -#: commands/tablecmds.c:9215 +#: commands/tablecmds.c:9272 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "villkor på temporära tabeller får bara ta med temporära tabeller från denna session" -#: commands/tablecmds.c:9279 commands/tablecmds.c:9285 +#: commands/tablecmds.c:9336 commands/tablecmds.c:9342 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "ogiltig %s-aktion för främmande nyckelvillkor som innehåller genererad kolumn" -#: commands/tablecmds.c:9301 +#: commands/tablecmds.c:9358 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "antalet refererande och refererade kolumner för främmande nyckel stämmer ej överens" -#: commands/tablecmds.c:9408 +#: commands/tablecmds.c:9465 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "främmande nyckelvillkor \"%s\" kan inte implementeras" -#: commands/tablecmds.c:9410 +#: commands/tablecmds.c:9467 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Nyckelkolumner \"%s\" och \"%s\" har inkompatibla typer %s och %s." -#: commands/tablecmds.c:9567 +#: commands/tablecmds.c:9624 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "kolumn \"%s\" refererad i ON DELETE SET-aktion måste vara en del av en främmande nyckel" -#: commands/tablecmds.c:9841 commands/tablecmds.c:10311 -#: parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:9898 commands/tablecmds.c:10368 +#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:923 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "främmande nyckel-villkor stöds inte för främmande tabeller" -#: commands/tablecmds.c:10864 commands/tablecmds.c:11142 -#: commands/tablecmds.c:12051 commands/tablecmds.c:12126 +#: commands/tablecmds.c:10921 commands/tablecmds.c:11202 +#: commands/tablecmds.c:12118 commands/tablecmds.c:12193 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "villkor \"%s\" i relation \"%s\" finns inte" -#: commands/tablecmds.c:10871 +#: commands/tablecmds.c:10928 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "villkor \"%s\" i relation \"%s\" är inte ett främmande nyckelvillkor" -#: commands/tablecmds.c:10909 +#: commands/tablecmds.c:10966 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "kan inte ändra villkoret \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:10912 +#: commands/tablecmds.c:10969 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Villkoret \"%s\" är härlett från villkoret \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:10914 +#: commands/tablecmds.c:10971 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Du kan istället ändra på villkoret det är härlett från." -#: commands/tablecmds.c:11150 +#: commands/tablecmds.c:11210 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "villkor \"%s\" i relation \"%s\" är inte en främmande nyckel eller ett check-villkor" -#: commands/tablecmds.c:11227 +#: commands/tablecmds.c:11287 #, c-format msgid "constraint must be validated on child tables too" msgstr "villkoret måste valideras för barntabellerna också" -#: commands/tablecmds.c:11314 +#: commands/tablecmds.c:11374 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "kolumn \"%s\" som refereras till i främmande nyckelvillkor finns inte" -#: commands/tablecmds.c:11320 +#: commands/tablecmds.c:11380 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "systemkolumner kan inte användas i främmande nycklar" -#: commands/tablecmds.c:11324 +#: commands/tablecmds.c:11384 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "kan inte ha mer än %d nycklar i en främmande nyckel" -#: commands/tablecmds.c:11389 +#: commands/tablecmds.c:11449 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "kan inte använda en \"deferrable\" primärnyckel för refererad tabell \"%s\"" -#: commands/tablecmds.c:11406 +#: commands/tablecmds.c:11466 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "det finns ingen primärnyckel för refererad tabell \"%s\"" -#: commands/tablecmds.c:11470 +#: commands/tablecmds.c:11534 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "främmande nyckel-refererade kolumnlistor får inte innehålla duplikat" -#: commands/tablecmds.c:11562 +#: commands/tablecmds.c:11626 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "kan inte använda ett \"deferrable\" unikt integritetsvillkor för refererad tabell \"%s\"" -#: commands/tablecmds.c:11567 +#: commands/tablecmds.c:11631 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "finns inget unique-villkor som matchar de givna nycklarna i den refererade tabellen \"%s\"" -#: commands/tablecmds.c:12007 +#: commands/tablecmds.c:12074 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "kan inte ta bort ärvt villkor \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:12057 +#: commands/tablecmds.c:12124 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "villkor \"%s\" i relation \"%s\" finns inte, hoppar över" -#: commands/tablecmds.c:12233 +#: commands/tablecmds.c:12300 #, c-format msgid "cannot alter column type of typed table" msgstr "kan inte ändra kolumntyp på typad tabell" -#: commands/tablecmds.c:12260 +#: commands/tablecmds.c:12327 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "kan inte ändra ärvd kolumn \"%s\"" -#: commands/tablecmds.c:12269 +#: commands/tablecmds.c:12336 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "kan inte ändra kolumnen \"%s\" då den är del av partitionsnyckeln för relationen \"%s\"" -#: commands/tablecmds.c:12319 +#: commands/tablecmds.c:12386 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "resultatet av USING-klausul för kolumn \"%s\" kan inte automatiskt typomvandlas till typen %s" -#: commands/tablecmds.c:12322 +#: commands/tablecmds.c:12389 #, c-format msgid "You might need to add an explicit cast." msgstr "Du kan behöva lägga till en explicit typomvandling." -#: commands/tablecmds.c:12326 +#: commands/tablecmds.c:12393 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "kolumn \"%s\" kan inte automatiskt typomvandlas till typ %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12329 +#: commands/tablecmds.c:12396 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Du kan behöva ange \"USING %s::%s\"." -#: commands/tablecmds.c:12428 +#: commands/tablecmds.c:12495 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "kan inte ändra ärvd kolumn \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:12457 +#: commands/tablecmds.c:12524 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING-uttryck innehåller en hela-raden-tabellreferens." -#: commands/tablecmds.c:12468 +#: commands/tablecmds.c:12535 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "typen av den ärvda kolumnen \"%s\" måste ändras i barntabellerna också" -#: commands/tablecmds.c:12593 +#: commands/tablecmds.c:12660 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "kan inte ändra typen på kolumn \"%s\" två gånger" -#: commands/tablecmds.c:12631 +#: commands/tablecmds.c:12698 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "genereringsuttryck för kolumn \"%s\" kan inte automatiskt typomvandlas till typ %s" -#: commands/tablecmds.c:12636 +#: commands/tablecmds.c:12703 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "\"default\" för kolumn \"%s\" kan inte automatiskt typomvandlas till typ \"%s\"" -#: commands/tablecmds.c:12717 +#: commands/tablecmds.c:12791 #, c-format -msgid "cannot alter type of a column used by a view or rule" -msgstr "kan inte ändra typ på en kolumn som används av en vy eller en regel" +msgid "cannot alter type of a column used by a function or procedure" +msgstr "kan inte ändra typ på en kolumn som används av en funktion eller procedur" -#: commands/tablecmds.c:12718 commands/tablecmds.c:12737 -#: commands/tablecmds.c:12755 +#: commands/tablecmds.c:12792 commands/tablecmds.c:12806 +#: commands/tablecmds.c:12825 commands/tablecmds.c:12843 +#: commands/tablecmds.c:12901 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s beror på kolumn \"%s\"" -#: commands/tablecmds.c:12736 +#: commands/tablecmds.c:12805 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "kan inte ändra typ på en kolumn som används av en vy eller en regel" + +#: commands/tablecmds.c:12824 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "kan inte ändra typ på en kolumn som används i en triggerdefinition" -#: commands/tablecmds.c:12754 +#: commands/tablecmds.c:12842 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "kan inte ändra typ på en kolumn som används av i en policydefinition" -#: commands/tablecmds.c:12785 +#: commands/tablecmds.c:12873 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "kan inte ändra typ på en kolumn som används av en genererad kolumn" -#: commands/tablecmds.c:12786 +#: commands/tablecmds.c:12874 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Kolumn \"%s\" används av genererad kolumn \"%s\"." -#: commands/tablecmds.c:13861 commands/tablecmds.c:13873 +#: commands/tablecmds.c:12900 +#, c-format +msgid "cannot alter type of a column used by a publication WHERE clause" +msgstr "kan inte ändra typ på en kolumn som används av en publicerings WHERE-klausul" + +#: commands/tablecmds.c:13961 commands/tablecmds.c:13973 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "kan inte byta ägare på index \"%s\"" -#: commands/tablecmds.c:13863 commands/tablecmds.c:13875 +#: commands/tablecmds.c:13963 commands/tablecmds.c:13975 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Byt ägare på indexets tabell istället." -#: commands/tablecmds.c:13889 +#: commands/tablecmds.c:13989 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "kan inte byta ägare på sekvens \"%s\"" -#: commands/tablecmds.c:13903 commands/tablecmds.c:17173 -#: commands/tablecmds.c:17192 -#, c-format -msgid "Use ALTER TYPE instead." -msgstr "Använd ALTER TYPE istället." - -#: commands/tablecmds.c:13912 +#: commands/tablecmds.c:14014 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "kan inte byta ägare på relationen \"%s\"" -#: commands/tablecmds.c:14274 +#: commands/tablecmds.c:14376 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "kan inte ha flera underkommandon SET TABLESPACE" -#: commands/tablecmds.c:14351 +#: commands/tablecmds.c:14453 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "kan inte sätta inställningar på relationen \"%s\"" -#: commands/tablecmds.c:14385 commands/view.c:445 +#: commands/tablecmds.c:14487 commands/view.c:445 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION stöds bara på automatiskt uppdateringsbara vyer" -#: commands/tablecmds.c:14635 +#: commands/tablecmds.c:14737 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "bara tabeller, index och materialiserade vyer finns i tablespace:er" -#: commands/tablecmds.c:14647 +#: commands/tablecmds.c:14749 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "kan inte flytta relationer in eller ut från tablespace pg_global" -#: commands/tablecmds.c:14739 +#: commands/tablecmds.c:14841 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "avbryter då lås på relation \"%s.%s\" inte är tillgängligt" -#: commands/tablecmds.c:14755 +#: commands/tablecmds.c:14857 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "inga matchande relationer i tablespace \"%s\" hittades" -#: commands/tablecmds.c:14873 +#: commands/tablecmds.c:14975 #, c-format msgid "cannot change inheritance of typed table" msgstr "kan inte ändra arv på en typad tabell" -#: commands/tablecmds.c:14878 commands/tablecmds.c:15396 +#: commands/tablecmds.c:14980 commands/tablecmds.c:15498 #, c-format msgid "cannot change inheritance of a partition" msgstr "kan inte ändra arv på en partition" -#: commands/tablecmds.c:14883 +#: commands/tablecmds.c:14985 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "kan inte ändra arv på en partitionerad tabell" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:15031 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "kan inte ärva av en temporär tabell för en annan session" -#: commands/tablecmds.c:14942 +#: commands/tablecmds.c:15044 #, c-format msgid "cannot inherit from a partition" msgstr "kan inte ärva från en partition" -#: commands/tablecmds.c:14964 commands/tablecmds.c:17813 +#: commands/tablecmds.c:15066 commands/tablecmds.c:17924 #, c-format msgid "circular inheritance not allowed" msgstr "cirkulärt arv är inte tillåtet" -#: commands/tablecmds.c:14965 commands/tablecmds.c:17814 +#: commands/tablecmds.c:15067 commands/tablecmds.c:17925 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" är redan ett barn till \"%s\"" -#: commands/tablecmds.c:14978 +#: commands/tablecmds.c:15080 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "trigger \"%s\" förhindrar tabell \"%s\" från att bli ett arvsbarn" -#: commands/tablecmds.c:14980 +#: commands/tablecmds.c:15082 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "ROW-triggrar med övergångstabeller stöds inte i arvshierarkier." -#: commands/tablecmds.c:15183 +#: commands/tablecmds.c:15285 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "kolumn \"%s\" i barntabell måste vara markerad NOT NULL" -#: commands/tablecmds.c:15192 +#: commands/tablecmds.c:15294 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "kolumn \"%s\" i barntabell måste vara en genererad kolumn" -#: commands/tablecmds.c:15197 +#: commands/tablecmds.c:15299 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "kolumn \"%s\" i barntabell kan inte vara en genererad kolumn" -#: commands/tablecmds.c:15228 +#: commands/tablecmds.c:15330 #, c-format msgid "child table is missing column \"%s\"" msgstr "barntabell saknar kolumn \"%s\"" -#: commands/tablecmds.c:15316 +#: commands/tablecmds.c:15418 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "barntabell \"%s\" har annan definition av check-villkor \"%s\"" -#: commands/tablecmds.c:15324 +#: commands/tablecmds.c:15426 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "villkor \"%s\" står i konflikt med icke-ärvt villkor på barntabell \"%s\"" -#: commands/tablecmds.c:15335 +#: commands/tablecmds.c:15437 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "villkor \"%s\" står i konflikt med NOT VALID-villkor på barntabell \"%s\"" -#: commands/tablecmds.c:15374 +#: commands/tablecmds.c:15476 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "barntabell saknar riktighetsvillkor \"%s\"" -#: commands/tablecmds.c:15460 +#: commands/tablecmds.c:15562 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "partition \"%s\" har redan en pågående bortkoppling i partitionerad tabell \"%s.%s\"" -#: commands/tablecmds.c:15489 commands/tablecmds.c:15537 +#: commands/tablecmds.c:15591 commands/tablecmds.c:15639 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "relationen \"%s\" är inte partition av relationen \"%s\"" -#: commands/tablecmds.c:15543 +#: commands/tablecmds.c:15645 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "relationen \"%s\" är inte en förälder till relationen \"%s\"" -#: commands/tablecmds.c:15771 +#: commands/tablecmds.c:15873 #, c-format msgid "typed tables cannot inherit" msgstr "typade tabeller kan inte ärva" -#: commands/tablecmds.c:15801 +#: commands/tablecmds.c:15903 #, c-format msgid "table is missing column \"%s\"" msgstr "tabell saknar kolumn \"%s\"" -#: commands/tablecmds.c:15812 +#: commands/tablecmds.c:15914 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "tabell har kolumn \"%s\" där typen kräver \"%s\"" -#: commands/tablecmds.c:15821 +#: commands/tablecmds.c:15923 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "tabell \"%s\" har annan typ på kolumn \"%s\"" -#: commands/tablecmds.c:15835 +#: commands/tablecmds.c:15937 #, c-format msgid "table has extra column \"%s\"" msgstr "tabell har extra kolumn \"%s\"" -#: commands/tablecmds.c:15887 +#: commands/tablecmds.c:15989 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" är inte en typad tabell" -#: commands/tablecmds.c:16061 +#: commands/tablecmds.c:16163 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "kan inte använda icke-unikt index \"%s\" som replikaidentitet" -#: commands/tablecmds.c:16067 +#: commands/tablecmds.c:16169 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "kan inte använda icke-immediate-index \"%s\" som replikaidentitiet" -#: commands/tablecmds.c:16073 +#: commands/tablecmds.c:16175 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "kan inte använda uttrycksindex \"%s\" som replikaidentitiet" -#: commands/tablecmds.c:16079 +#: commands/tablecmds.c:16181 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "kan inte använda partiellt index \"%s\" som replikaidentitiet" -#: commands/tablecmds.c:16096 +#: commands/tablecmds.c:16198 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "index \"%s\" kan inte användas som replikaidentitet då kolumn %d är en systemkolumn" -#: commands/tablecmds.c:16103 +#: commands/tablecmds.c:16205 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "index \"%s\" kan inte användas som replikaidentitet då kolumn \"%s\" kan vare null" -#: commands/tablecmds.c:16348 +#: commands/tablecmds.c:16450 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "kan inte ändra loggningsstatus för tabell \"%s\" då den är temporär" -#: commands/tablecmds.c:16372 +#: commands/tablecmds.c:16474 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "kan inte ändra tabell \"%s\" till ologgad då den är del av en publicering" -#: commands/tablecmds.c:16374 +#: commands/tablecmds.c:16476 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ologgade relatrioner kan inte replikeras." -#: commands/tablecmds.c:16419 +#: commands/tablecmds.c:16521 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "kunde inte ändra tabell \"%s\" till loggad då den refererar till ologgad tabell \"%s\"" -#: commands/tablecmds.c:16429 +#: commands/tablecmds.c:16531 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "kunde inte ändra tabell \"%s\" till ologgad då den refererar till loggad tabell \"%s\"" -#: commands/tablecmds.c:16487 +#: commands/tablecmds.c:16589 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "kan inte flytta en ägd sekvens till ett annan schema." -#: commands/tablecmds.c:16594 +#: commands/tablecmds.c:16691 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "relationen \"%s\" finns redan i schema \"%s\"" -#: commands/tablecmds.c:17006 +#: commands/tablecmds.c:17111 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" är inte en tabell eller materialiserad vy" -#: commands/tablecmds.c:17156 +#: commands/tablecmds.c:17261 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" är inte en composite-typ" -#: commands/tablecmds.c:17184 +#: commands/tablecmds.c:17291 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "kan inte byta schema på indexet \"%s\"" -#: commands/tablecmds.c:17186 commands/tablecmds.c:17198 +#: commands/tablecmds.c:17293 commands/tablecmds.c:17307 #, c-format msgid "Change the schema of the table instead." msgstr "Byt ägare på tabellen istället." -#: commands/tablecmds.c:17190 +#: commands/tablecmds.c:17297 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "kan inte byta schema på composite-typen \"%s\"." -#: commands/tablecmds.c:17196 +#: commands/tablecmds.c:17305 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "kan inte byta schema på TOAST-tabellen \"%s\"" -#: commands/tablecmds.c:17228 +#: commands/tablecmds.c:17337 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "kan inte använda list-partioneringsstrategi med mer än en kolumn" -#: commands/tablecmds.c:17294 +#: commands/tablecmds.c:17403 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "kolumn \"%s\" angiven i partitioneringsnyckel existerar inte" -#: commands/tablecmds.c:17302 +#: commands/tablecmds.c:17411 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "kan inte använda systemkolumn \"%s\" i partitioneringsnyckel" -#: commands/tablecmds.c:17313 commands/tablecmds.c:17427 +#: commands/tablecmds.c:17422 commands/tablecmds.c:17512 #, c-format msgid "cannot use generated column in partition key" msgstr "kan inte använda genererad kolumn i partitioneringsnyckel" -#: commands/tablecmds.c:17314 commands/tablecmds.c:17428 commands/trigger.c:663 +#: commands/tablecmds.c:17423 commands/tablecmds.c:17513 commands/trigger.c:663 #: rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Kolumnen \"%s\" är en genererad kolumn." -#: commands/tablecmds.c:17390 -#, c-format -msgid "functions in partition key expression must be marked IMMUTABLE" -msgstr "funktioner i partitioneringsuttryck måste vara markerade IMMUTABLE" - -#: commands/tablecmds.c:17410 +#: commands/tablecmds.c:17495 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "partitioneringsnyckeluttryck kan inte innehålla systemkolumnreferenser" -#: commands/tablecmds.c:17440 +#: commands/tablecmds.c:17542 +#, c-format +msgid "functions in partition key expression must be marked IMMUTABLE" +msgstr "funktioner i partitioneringsuttryck måste vara markerade IMMUTABLE" + +#: commands/tablecmds.c:17551 #, c-format msgid "cannot use constant expression as partition key" msgstr "kan inte använda konstant uttryck som partitioneringsnyckel" -#: commands/tablecmds.c:17461 +#: commands/tablecmds.c:17572 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "kunde inte lista vilken jämförelse (collation) som skulle användas för partitionsuttryck" -#: commands/tablecmds.c:17496 +#: commands/tablecmds.c:17607 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Du måste ange en hash-operatorklass eller definiera en default hash-operatorklass för datatypen." -#: commands/tablecmds.c:17502 +#: commands/tablecmds.c:17613 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Du måste ange en btree-operatorklass eller definiera en default btree-operatorklass för datatypen." -#: commands/tablecmds.c:17753 +#: commands/tablecmds.c:17864 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" är redan en partition" -#: commands/tablecmds.c:17759 +#: commands/tablecmds.c:17870 #, c-format msgid "cannot attach a typed table as partition" msgstr "kan inte ansluta en typad tabell som partition" -#: commands/tablecmds.c:17775 +#: commands/tablecmds.c:17886 #, c-format msgid "cannot attach inheritance child as partition" msgstr "kan inte ansluta ett arvsbarn som partition" -#: commands/tablecmds.c:17789 +#: commands/tablecmds.c:17900 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "kan inte ansluta en arvsförälder som partition" -#: commands/tablecmds.c:17823 +#: commands/tablecmds.c:17934 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "kan inte ansluta en temporär relation som partition till en permanent relation \"%s\"" -#: commands/tablecmds.c:17831 +#: commands/tablecmds.c:17942 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "kan inte ansluta en permanent relation som partition till en temporär relation \"%s\"" -#: commands/tablecmds.c:17839 +#: commands/tablecmds.c:17950 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "kan inte ansluta en partition från en temporär relation som tillhör en annan session" -#: commands/tablecmds.c:17846 +#: commands/tablecmds.c:17957 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "kan inte ansluta en temporär relation tillhörande en annan session som partition" -#: commands/tablecmds.c:17866 +#: commands/tablecmds.c:17977 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "tabell \"%s\" innehåller kolumn \"%s\" som inte finns i föräldern \"%s\"" -#: commands/tablecmds.c:17869 +#: commands/tablecmds.c:17980 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Den nya partitionen får bara innehålla kolumner som finns i föräldern." -#: commands/tablecmds.c:17881 +#: commands/tablecmds.c:17992 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "trigger \"%s\" förhindrar att tabell \"%s\" blir en partition" -#: commands/tablecmds.c:17883 +#: commands/tablecmds.c:17994 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "ROW-triggrar med övergångstabeller stöds inte för partitioner." -#: commands/tablecmds.c:18062 +#: commands/tablecmds.c:18173 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "kan inte ansluta främmande tabell \"%s\" som en partition till partitionerad tabell \"%s\"" -#: commands/tablecmds.c:18065 +#: commands/tablecmds.c:18176 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionerad tabell \"%s\" innehåller unika index." -#: commands/tablecmds.c:18382 +#: commands/tablecmds.c:18493 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "kan inte parallellt koppla bort en partitionerad tabell när en default-partition finns" -#: commands/tablecmds.c:18491 +#: commands/tablecmds.c:18602 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionerad tabell \"%s\" togs bort parallellt" -#: commands/tablecmds.c:18497 +#: commands/tablecmds.c:18608 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "partition \"%s\" togs bort parallellt" -#: commands/tablecmds.c:19012 commands/tablecmds.c:19032 -#: commands/tablecmds.c:19053 commands/tablecmds.c:19072 -#: commands/tablecmds.c:19114 +#: commands/tablecmds.c:19132 commands/tablecmds.c:19152 +#: commands/tablecmds.c:19173 commands/tablecmds.c:19192 +#: commands/tablecmds.c:19234 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "kan inte ansluta index \"%s\" som en partition till index \"%s\"" -#: commands/tablecmds.c:19015 +#: commands/tablecmds.c:19135 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Index \"%s\" är redan ansluten till ett annat index." -#: commands/tablecmds.c:19035 +#: commands/tablecmds.c:19155 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Index \"%s\" är inte ett index för någon partition av tabell \"%s\"." -#: commands/tablecmds.c:19056 +#: commands/tablecmds.c:19176 #, c-format msgid "The index definitions do not match." msgstr "Indexdefinitionerna matchar inte." -#: commands/tablecmds.c:19075 +#: commands/tablecmds.c:19195 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Indexet \"%s\" tillhör ett villkor på tabell \"%s\" men det finns inga villkor för indexet \"%s\"." -#: commands/tablecmds.c:19117 +#: commands/tablecmds.c:19237 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Ett annat index är redan anslutet för partition \"%s\"." -#: commands/tablecmds.c:19353 +#: commands/tablecmds.c:19473 #, c-format msgid "column data type %s does not support compression" msgstr "kolumndatatypen %s stöder inte komprimering" -#: commands/tablecmds.c:19360 +#: commands/tablecmds.c:19480 #, c-format msgid "invalid compression method \"%s\"" msgstr "ogiltig komprimeringsmetod \"%s\"" -#: commands/tablecmds.c:19386 +#: commands/tablecmds.c:19506 #, c-format msgid "invalid storage type \"%s\"" msgstr "ogiltig lagringstyp \"%s\"" -#: commands/tablecmds.c:19396 +#: commands/tablecmds.c:19516 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "kolumndatatyp %s kan bara ha lagringsmetod PLAIN" @@ -11825,7 +11820,7 @@ msgid "trigger function %u returned null value" msgstr "triggerfunktionen %u returnerade null-värde" #: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 -#: commands/trigger.c:3252 +#: commands/trigger.c:3270 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "BEFORE STATEMENT-trigger kan inte returnera ett värde" @@ -11840,140 +11835,141 @@ msgstr "flytta en rad från en annan partition under en BEFORE FOR EACH ROW-trig msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Innan exekvering av triggern \"%s\" så var raden i partition \"%s.%s\"." -#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363 -#: executor/nodeModifyTable.c:2446 +#: commands/trigger.c:3347 executor/nodeModifyTable.c:2378 +#: executor/nodeModifyTable.c:2461 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "tupel som skall uppdateras hade redan ändrats av en operation som triggats av aktuellt kommando" -#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 -#: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 -#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 +#: commands/trigger.c:3348 executor/nodeModifyTable.c:1543 +#: executor/nodeModifyTable.c:1617 executor/nodeModifyTable.c:2379 +#: executor/nodeModifyTable.c:2462 executor/nodeModifyTable.c:2999 +#: executor/nodeModifyTable.c:3126 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Överväg att använda en AFTER-trigger istället för en BEFORE-trigger för att propagera ändringar till andra rader." -#: 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:3389 executor/nodeLockRows.c:228 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:316 +#: executor/nodeModifyTable.c:1559 executor/nodeModifyTable.c:2396 +#: executor/nodeModifyTable.c:2604 #, c-format msgid "could not serialize access due to concurrent update" msgstr "kunde inte serialisera åtkomst på grund av samtidig uppdatering" -#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 -#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 -#: executor/nodeModifyTable.c:2966 +#: commands/trigger.c:3397 executor/nodeModifyTable.c:1649 +#: executor/nodeModifyTable.c:2479 executor/nodeModifyTable.c:2628 +#: executor/nodeModifyTable.c:3017 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "kunde inte serialisera åtkomst på grund av samtidig borttagning" -#: commands/trigger.c:4586 +#: commands/trigger.c:4608 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "kan inte trigga uppskjuten trigger i en säkerhetsbegränsad operation" -#: commands/trigger.c:5769 +#: commands/trigger.c:5789 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "integritetsvillkor \"%s\" är inte \"deferrable\"" -#: commands/trigger.c:5792 +#: commands/trigger.c:5812 #, c-format msgid "constraint \"%s\" does not exist" msgstr "integritetsvillkor \"%s\" existerar inte" -#: 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 "funktion %s skall returnera typ %s" -#: commands/tsearchcmds.c:194 +#: commands/tsearchcmds.c:200 #, c-format msgid "must be superuser to create text search parsers" msgstr "måste vara en superuser för att skapa textsökparser" -#: commands/tsearchcmds.c:247 +#: commands/tsearchcmds.c:253 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "parameter \"%s\" till textsökparser känns inte igen" -#: commands/tsearchcmds.c:257 +#: commands/tsearchcmds.c:263 #, c-format msgid "text search parser start method is required" msgstr "textsöksparsers start-metod krävs" -#: commands/tsearchcmds.c:262 +#: commands/tsearchcmds.c:268 #, c-format msgid "text search parser gettoken method is required" msgstr "textsöksparsers gettoken-metod krävs" -#: commands/tsearchcmds.c:267 +#: commands/tsearchcmds.c:273 #, c-format msgid "text search parser end method is required" msgstr "textsöksparsers end-metod krävs" -#: commands/tsearchcmds.c:272 +#: commands/tsearchcmds.c:278 #, c-format msgid "text search parser lextypes method is required" msgstr "textsöksparsers lextypes-metod krävs" -#: commands/tsearchcmds.c:366 +#: commands/tsearchcmds.c:372 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "textsökmall \"%s\" tar inte emot flaggor" -#: commands/tsearchcmds.c:440 +#: commands/tsearchcmds.c:446 #, c-format msgid "text search template is required" msgstr "textsökmall krävs" -#: commands/tsearchcmds.c:701 +#: commands/tsearchcmds.c:707 #, c-format msgid "must be superuser to create text search templates" msgstr "måste vara en superuser för att skapa textsökmallar" -#: commands/tsearchcmds.c:743 +#: commands/tsearchcmds.c:749 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "textsöksmallens parameter \"%s\" känns inte igen" -#: commands/tsearchcmds.c:753 +#: commands/tsearchcmds.c:759 #, c-format msgid "text search template lexize method is required" msgstr "textsökmallens lexize-metod krävs" -#: commands/tsearchcmds.c:933 +#: commands/tsearchcmds.c:939 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "textsökkonfigurationsparameter \"%s\" känns inte igen" -#: commands/tsearchcmds.c:940 +#: commands/tsearchcmds.c:946 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "kan inte ange både flaggan PARSER och COPY" -#: commands/tsearchcmds.c:976 +#: commands/tsearchcmds.c:982 #, c-format msgid "text search parser is required" msgstr "textsökparser krävs" -#: commands/tsearchcmds.c:1241 +#: commands/tsearchcmds.c:1277 #, c-format msgid "token type \"%s\" does not exist" msgstr "token-typ \"%s\" finns inte" -#: commands/tsearchcmds.c:1501 +#: commands/tsearchcmds.c:1540 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "mappning för token-typ \"%s\" existerar inte" -#: commands/tsearchcmds.c:1507 +#: commands/tsearchcmds.c:1546 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "mappning för token-typ \"%s\" finns inte, hoppar över" -#: 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 "ogiltigt parameterlistformat \"%s\"" @@ -11988,7 +11984,7 @@ msgstr "måste vara en superuser för att skapa en bastyp" msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE." msgstr "Skapa typen som en shell-typ, skapa sedan dess I/O-funktioner och gör sedan en fullständig CREATE TYPE." -#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257 +#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4263 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "typattribut \"%s\" känns inte igen" @@ -12008,7 +12004,7 @@ msgstr "elementtypen i array:en får inte vara %s" msgid "alignment \"%s\" not recognized" msgstr "känner inte igen justering (alignment) \"%s\"" -#: commands/typecmds.c:450 commands/typecmds.c:4131 +#: commands/typecmds.c:450 commands/typecmds.c:4137 #, c-format msgid "storage \"%s\" not recognized" msgstr "lagring \"%s\" känns inte igen" @@ -12258,8 +12254,8 @@ msgstr "integritetsvillkor \"%s\" för domän \"%s\" är inte ett check-villkor" msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "kolumnen \"%s\" i tabell \"%s\" innehåller värden som bryter mot det nya villkortet" -#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3703 -#: commands/typecmds.c:3889 +#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3705 +#: commands/typecmds.c:3893 #, c-format msgid "%s is not a domain" msgstr "%s är inte en domän" @@ -12274,47 +12270,42 @@ msgstr "integritetsvillkor \"%s\" för domän \"%s\" existerar redan" msgid "cannot use table references in domain check constraint" msgstr "kan inte använda tabellreferenser i domänens check-villkor" -#: commands/typecmds.c:3634 commands/typecmds.c:3715 commands/typecmds.c:4006 +#: commands/typecmds.c:3634 commands/typecmds.c:3717 commands/typecmds.c:4010 #, c-format msgid "%s is a table's row type" msgstr "%s är en tabells radtyp" -#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008 -#, c-format -msgid "Use ALTER TABLE instead." -msgstr "Använd ALTER TABLE istället." - -#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921 +#: commands/typecmds.c:3644 commands/typecmds.c:3727 commands/typecmds.c:3925 #, c-format msgid "cannot alter array type %s" msgstr "kan inte ändra arraytyp %s" -#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923 +#: commands/typecmds.c:3646 commands/typecmds.c:3729 commands/typecmds.c:3927 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "Du kan ändra typen %s vilket också kommer ändra array-typen." -#: commands/typecmds.c:3991 +#: commands/typecmds.c:3995 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "typen \"%s\" finns redan i schema \"%s\"" -#: commands/typecmds.c:4159 +#: commands/typecmds.c:4165 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "kan inte ändra typens lagring till PLAIN" -#: commands/typecmds.c:4252 +#: commands/typecmds.c:4258 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "typattribut \"%s\" kan inte ändras" -#: commands/typecmds.c:4270 +#: commands/typecmds.c:4276 #, c-format msgid "must be superuser to alter a type" msgstr "måste vara en superuser för att ändra en typ" -#: commands/typecmds.c:4291 commands/typecmds.c:4300 +#: commands/typecmds.c:4297 commands/typecmds.c:4306 #, c-format msgid "%s is not a base type" msgstr "%s är inte en bastyp" @@ -12341,18 +12332,18 @@ msgstr "Bara roller med attributet %s får skapa roller." msgid "Only roles with the %s attribute may create roles with the %s attribute." msgstr "Bara roller med attributet %s får skapa roller med attributet %s." -#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400 gram.y:16726 +#: commands/user.c:355 commands/user.c:1387 commands/user.c:1394 gram.y:16726 #: gram.y:16772 utils/adt/acl.c:5401 utils/adt/acl.c:5407 #, c-format msgid "role name \"%s\" is reserved" msgstr "rollnamnet \"%s\" är reserverat" -#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402 +#: commands/user.c:357 commands/user.c:1389 commands/user.c:1396 #, c-format msgid "Role names starting with \"pg_\" are reserved." msgstr "Rollnamn som startar med \"pg_\" är reserverade." -#: commands/user.c:378 commands/user.c:1417 +#: commands/user.c:378 commands/user.c:1411 #, c-format msgid "role \"%s\" already exists" msgstr "rollen \"%s\" finns redan" @@ -12420,7 +12411,7 @@ msgstr "rättighet saknas för att ändra inställningen" msgid "Only roles with the %s attribute may alter settings globally." msgstr "Bara roller med attributet %s får ändra globala inställningar." -#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179 +#: commands/user.c:1101 commands/user.c:1172 commands/user.c:1178 #, c-format msgid "permission denied to drop role" msgstr "rättighet saknas för att ta bort roll" @@ -12430,211 +12421,211 @@ msgstr "rättighet saknas för att ta bort roll" msgid "Only roles with the %s attribute and the %s option on the target roles may drop roles." msgstr "Bara roller med attributet %s och flaggan %s på målrollen får slänga roller." -#: commands/user.c:1127 +#: commands/user.c:1126 #, c-format msgid "cannot use special role specifier in DROP ROLE" msgstr "kan inte används speciell rollangivelse i DROP ROLE" -#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836 +#: 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:757 +#: utils/adt/regproc.c:1551 utils/init/miscinit.c:756 #, c-format msgid "role \"%s\" does not exist" msgstr "rollen \"%s\" finns inte" -#: commands/user.c:1142 +#: commands/user.c:1141 #, c-format msgid "role \"%s\" does not exist, skipping" msgstr "rollen \"%s\" finns inte, hoppar över" -#: commands/user.c:1155 commands/user.c:1159 +#: commands/user.c:1154 commands/user.c:1158 #, c-format msgid "current user cannot be dropped" msgstr "inloggade användaren kan inte raderas" -#: commands/user.c:1163 +#: commands/user.c:1162 #, c-format msgid "session user cannot be dropped" msgstr "sessionsanvändaren kan inte tas bort" -#: commands/user.c:1174 +#: commands/user.c:1173 #, c-format msgid "Only roles with the %s attribute may drop roles with the %s attribute." msgstr "Bara roller med attributet %s kan slänga roller med attributet %s." -#: commands/user.c:1180 +#: commands/user.c:1179 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role." msgstr "Bara roller med attributet %s och flaggan %s på rollen \"%s\" kan slänga denna roll." -#: commands/user.c:1306 +#: commands/user.c:1300 #, c-format msgid "role \"%s\" cannot be dropped because some objects depend on it" msgstr "rollen \"%s\" kan inte tas bort eftersom andra objekt beror på den" -#: commands/user.c:1380 +#: commands/user.c:1374 #, c-format msgid "session user cannot be renamed" msgstr "sessions-användar kan inte döpas om" -#: commands/user.c:1384 +#: commands/user.c:1378 #, c-format msgid "current user cannot be renamed" msgstr "aktuella användaren kan inte döpas om" -#: commands/user.c:1428 commands/user.c:1438 +#: commands/user.c:1422 commands/user.c:1432 #, c-format msgid "permission denied to rename role" msgstr "rättighet saknas för att döpa om roll" -#: commands/user.c:1429 +#: commands/user.c:1423 #, c-format msgid "Only roles with the %s attribute may rename roles with the %s attribute." msgstr "Bara roller med attributet %s kan byta namn på roller med attributet %s." -#: commands/user.c:1439 +#: commands/user.c:1433 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role." msgstr "Bara roller med attributet %s och med flaggan %s på rollen \"%s\" får byta namn på denna roll." -#: commands/user.c:1461 +#: commands/user.c:1455 #, c-format msgid "MD5 password cleared because of role rename" msgstr "MD5-lösenord nollställt på grund av omdöpning av roll" -#: commands/user.c:1525 gram.y:1260 +#: commands/user.c:1519 gram.y:1260 #, c-format msgid "unrecognized role option \"%s\"" msgstr "okänd rollflagga \"%s\"" -#: commands/user.c:1530 +#: commands/user.c:1524 #, c-format msgid "unrecognized value for role option \"%s\": \"%s\"" msgstr "okänt värde för rollflaggan \"%s\": \"%s\"" -#: commands/user.c:1563 +#: commands/user.c:1557 #, c-format msgid "column names cannot be included in GRANT/REVOKE ROLE" msgstr "kolumnnamn kan inte inkluderas i GRANT/REVOKE ROLE" -#: commands/user.c:1603 +#: commands/user.c:1597 #, c-format msgid "permission denied to drop objects" msgstr "rättighet saknas för att ta bort objekt" -#: commands/user.c:1604 +#: commands/user.c:1598 #, c-format msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." msgstr "Bara roller med rättigheter från rollen \"%s\" får slänga objekt som ägas av den." -#: commands/user.c:1632 commands/user.c:1643 +#: commands/user.c:1626 commands/user.c:1637 #, c-format msgid "permission denied to reassign objects" msgstr "rättighet saknas för att tilldela om objekt" -#: commands/user.c:1633 +#: commands/user.c:1627 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects owned by it." msgstr "Bara roller med rättigheter från rollen \"%s\" får byta ägare på objekt som ägs av den." -#: commands/user.c:1644 +#: commands/user.c:1638 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects to it." msgstr "Bara roller med rättigheter från rollen \"%s\" får byta ägare på objekt till den." -#: commands/user.c:1740 +#: commands/user.c:1734 #, c-format msgid "role \"%s\" cannot be a member of any role" msgstr "roll \"%s\" kan inte vara medlem i någon roll" -#: commands/user.c:1753 +#: commands/user.c:1747 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "roll \"%s\" är en medlem i rollen \"%s\"" -#: commands/user.c:1793 commands/user.c:1819 +#: commands/user.c:1787 commands/user.c:1813 #, c-format msgid "%s option cannot be granted back to your own grantor" msgstr "flaggan %s kan inte ges tillbaka till den som givit det till dig" -#: commands/user.c:1896 +#: commands/user.c:1890 #, c-format msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" msgstr "rollen \"%s\" har redan fått medlemskap i rollen \"%s\" av rollen \"%s\"" -#: commands/user.c:2031 +#: commands/user.c:2025 #, c-format msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" msgstr "rollen \"%s\" har inte fått medlemskap i rollen \"%s\" av rollen \"%s\"" -#: commands/user.c:2131 +#: commands/user.c:2125 #, c-format msgid "role \"%s\" cannot have explicit members" msgstr "rollen \"%s\" kan inte ha explicita medlemmar" -#: commands/user.c:2142 commands/user.c:2165 +#: commands/user.c:2136 commands/user.c:2159 #, c-format msgid "permission denied to grant role \"%s\"" msgstr "rättighet saknas för att dela ut rollen \"%s\"" -#: commands/user.c:2144 +#: commands/user.c:2138 #, c-format msgid "Only roles with the %s attribute may grant roles with the %s attribute." msgstr "Bara roller med attributet %s får dela ut rättigheter med roller som har attributet %s." -#: commands/user.c:2149 commands/user.c:2172 +#: commands/user.c:2143 commands/user.c:2166 #, c-format msgid "permission denied to revoke role \"%s\"" msgstr "rättighet saknas för att ta tillbaka rollen \"%s\"" -#: commands/user.c:2151 +#: commands/user.c:2145 #, c-format msgid "Only roles with the %s attribute may revoke roles with the %s attribute." msgstr "Bara roller med attributet %s får ta tillbaka rättigheter med roller som har attributet %s." -#: commands/user.c:2167 +#: commands/user.c:2161 #, c-format msgid "Only roles with the %s option on role \"%s\" may grant this role." msgstr "Bara roller med flaggan %s på rollen \"%s\" för dela ut denna roll." -#: commands/user.c:2174 +#: commands/user.c:2168 #, c-format msgid "Only roles with the %s option on role \"%s\" may revoke this role." msgstr "Bara roller med flaggan %s på rollen \"%s\" kan dra tillbaka denna roll." -#: commands/user.c:2254 commands/user.c:2263 +#: commands/user.c:2248 commands/user.c:2257 #, c-format msgid "permission denied to grant privileges as role \"%s\"" msgstr "rättighet saknas att dela ut rättigheter som rollen \"%s\"" -#: commands/user.c:2256 +#: commands/user.c:2250 #, c-format msgid "Only roles with privileges of role \"%s\" may grant privileges as this role." msgstr "Bara roller med rättigheter från rollen \"%s\" får dela ut rättigheter för den rollen." -#: commands/user.c:2265 +#: commands/user.c:2259 #, c-format msgid "The grantor must have the %s option on role \"%s\"." msgstr "Utfärdaren måste ha flaggan %s på roll \"%s\"" -#: commands/user.c:2273 +#: commands/user.c:2267 #, c-format msgid "permission denied to revoke privileges granted by role \"%s\"" msgstr "rättighet saknas att ta bort rättighet som utfärdats av roll \"%s\"" -#: commands/user.c:2275 +#: commands/user.c:2269 #, c-format msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role." msgstr "Bara roller med rättigheter från rollen \"%s\" får ta bort rättigheter som delats ut av den rollen." -#: commands/user.c:2498 utils/adt/acl.c:1309 +#: commands/user.c:2492 utils/adt/acl.c:1309 #, c-format msgid "dependent privileges exist" msgstr "det finns beroende privilegier" -#: commands/user.c:2499 utils/adt/acl.c:1310 +#: commands/user.c:2493 utils/adt/acl.c:1310 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Använd CASCADE för att återkalla dem med." @@ -12758,32 +12749,32 @@ msgstr "" msgid "cutoff for freezing multixacts is far in the past" msgstr "gräns för frysning av multixact är från dåtid" -#: commands/vacuum.c:1908 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "några databaser har inte städats (vacuum) på över 2 miljarder transaktioner" -#: commands/vacuum.c:1909 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Du kan redan ha fått dataförlust på grund av transaktions-wraparound." -#: commands/vacuum.c:2078 +#: commands/vacuum.c:2082 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "hoppar över \"%s\" --- kan inte köra vacuum på icke-tabeller eller speciella systemtabeller" -#: commands/vacuum.c:2503 +#: commands/vacuum.c:2507 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "genomsökte index \"%s\" och tog bort %d radversioner" -#: commands/vacuum.c:2522 +#: commands/vacuum.c:2526 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "index \"%s\" innehåller nu %.0f radversioner i %u sidor" -#: commands/vacuum.c:2526 +#: commands/vacuum.c:2530 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -13026,30 +13017,30 @@ msgstr "hittade inget värde för parameter %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/execExprInterp.c:4350 executor/nodeModifyTable.c:205 +#: executor/nodeModifyTable.c:216 executor/nodeModifyTable.c:233 +#: executor/nodeModifyTable.c:241 #, c-format msgid "table row type and query-specified row type do not match" msgstr "tabellens radtyp och frågans radtyp matchar inte" -#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 +#: executor/execExpr.c:638 executor/nodeModifyTable.c:206 #, c-format msgid "Query has too many columns." msgstr "Fråga har för många kolumner." -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:645 executor/nodeModifyTable.c:234 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "Fråga levererar ett värde för en borttagen kolumn vid position %d." #: executor/execExpr.c:651 executor/execExprInterp.c:4252 -#: executor/nodeModifyTable.c:209 +#: executor/nodeModifyTable.c:217 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "Tabellen har typ %s vid position %d, men frågan förväntar sig %s." -#: executor/execExpr.c:1099 parser/parse_agg.c:827 +#: executor/execExpr.c:1099 parser/parse_agg.c:838 #, c-format msgid "window function calls cannot be nested" msgstr "fönsterfunktionanrop kan inte nästlas" @@ -13072,7 +13063,7 @@ msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "kan inte överföra mer än %d argument till en funktion" msgstr[1] "kan inte överföra mer än %d argument till en funktion" -#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1066 +#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1068 #: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" @@ -13107,7 +13098,7 @@ msgstr "Tabell har typ %s men fråga förväntar sig %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 +#: utils/fmgr/funcapi.c:569 #, c-format msgid "type %s is not composite" msgstr "typen %s är inte composite" @@ -13127,10 +13118,10 @@ msgstr "kan inte göra merge på inkompatibla arrayer" msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." msgstr "Array med elementtyp %s kan inte inkluderas i ARRAY-konstruktion med elementtyp %s." -#: executor/execExprInterp.c:2823 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:2823 utils/adt/arrayfuncs.c:266 +#: utils/adt/arrayfuncs.c:576 utils/adt/arrayfuncs.c:1330 +#: utils/adt/arrayfuncs.c:3539 utils/adt/arrayfuncs.c:5623 +#: utils/adt/arrayfuncs.c:6140 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" @@ -13142,11 +13133,14 @@ msgid "multidimensional arrays must have array expressions with matching dimensi msgstr "flerdimensionella vektorer måste ha array-uttryck av passande dimensioner" #: executor/execExprInterp.c:2855 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 +#: 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:2931 utils/adt/arrayfuncs.c:2985 +#: utils/adt/arrayfuncs.c:3000 utils/adt/arrayfuncs.c:3341 +#: utils/adt/arrayfuncs.c:3569 utils/adt/arrayfuncs.c:6232 +#: utils/adt/arrayfuncs.c:6573 utils/adt/arrayutils.c:98 +#: utils/adt/arrayutils.c:107 utils/adt/arrayutils.c:114 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "array-storlek överskrider maximalt tillåtna (%d)" @@ -13223,38 +13217,38 @@ msgstr "kan inte ändra sekvens \"%s\"" msgid "cannot change TOAST relation \"%s\"" msgstr "kan inte ändra TOAST-relation \"%s\"" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 -#: rewrite/rewriteHandler.c:3966 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3083 +#: rewrite/rewriteHandler.c:3973 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kan inte sätta in i vy \"%s\"" -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 -#: rewrite/rewriteHandler.c:3969 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3086 +#: rewrite/rewriteHandler.c:3976 #, 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." -#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 -#: rewrite/rewriteHandler.c:3974 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3091 +#: rewrite/rewriteHandler.c:3981 #, c-format msgid "cannot update view \"%s\"" msgstr "kan inte uppdatera vy \"%s\"" -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 -#: rewrite/rewriteHandler.c:3977 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3094 +#: rewrite/rewriteHandler.c:3984 #, 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." -#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 -#: rewrite/rewriteHandler.c:3982 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3099 +#: rewrite/rewriteHandler.c:3989 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kan inte radera från vy \"%s\"" -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 -#: rewrite/rewriteHandler.c:3985 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3102 +#: rewrite/rewriteHandler.c:3992 #, 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." @@ -13413,8 +13407,8 @@ msgstr "samtidig borttagning, försöker igen" #: 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:3832 -#: utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397 +#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3888 +#: utils/adt/arrayfuncs.c:4443 utils/adt/arrayfuncs.c:6453 #: utils/adt/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" @@ -13528,76 +13522,76 @@ msgstr "Använd kommandot REFRESH MATERIALIZED VIEW." msgid "could not determine actual type of argument declared %s" msgstr "kunde inte bestämma den verkliga typen för argument deklarerat som %s" -#: executor/functions.c:512 +#: executor/functions.c:513 #, c-format msgid "cannot COPY to/from client in an SQL function" msgstr "kan inte göra COPY till/från klient i en SQL-funktion" #. 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 är inte tillåtet i en SQL-funktion" #. 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:1742 executor/spi.c:2648 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s tillåts inte i en icke-volatile-funktion" -#: executor/functions.c:1450 +#: executor/functions.c:1452 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-funktion \"%s\" sats %d" -#: executor/functions.c:1476 +#: executor/functions.c:1478 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-funktion \"%s\" under uppstart" -#: executor/functions.c:1561 +#: executor/functions.c:1563 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "anropa procedurer med output-argument stöds inte i SQL-funktioner" -#: 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:1711 executor/functions.c:1749 +#: executor/functions.c:1763 executor/functions.c:1858 +#: executor/functions.c:1891 executor/functions.c:1905 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "returtypen stämmer inte i funktion deklarerad att returnera %s" -#: executor/functions.c:1696 +#: executor/functions.c:1713 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." msgstr "Funktionen sista sats måste vara en SELECT eller INSERT/UPDATE/DELETE RETURNING." -#: executor/functions.c:1734 +#: executor/functions.c:1751 #, c-format msgid "Final statement must return exactly one column." msgstr "Sista satsen måste returnera exakt en kolumn." -#: executor/functions.c:1748 +#: executor/functions.c:1765 #, c-format msgid "Actual return type is %s." msgstr "Verklig returtyp är %s." -#: executor/functions.c:1838 +#: executor/functions.c:1860 #, c-format msgid "Final statement returns too many columns." msgstr "Sista satsen returnerar för många kolumner." -#: executor/functions.c:1871 +#: executor/functions.c:1893 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Sista satsen returnerar %s istället för %s vid column %d." -#: executor/functions.c:1885 +#: executor/functions.c:1907 #, c-format msgid "Final statement returns too few columns." msgstr "Sista satsen returnerar för få kolumner." -#: executor/functions.c:1913 +#: executor/functions.c:1935 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "returtyp %s stöds inte för SQL-funktioner" @@ -13607,7 +13601,7 @@ msgstr "returtyp %s stöds inte för SQL-funktioner" msgid "aggregate %u needs to have compatible input type and transition type" msgstr "aggregat %u måste ha kompatibel indatatyp och övergångstyp" -#: executor/nodeAgg.c:3967 parser/parse_agg.c:669 parser/parse_agg.c:697 +#: executor/nodeAgg.c:3967 parser/parse_agg.c:680 parser/parse_agg.c:708 #, c-format msgid "aggregate function calls cannot be nested" msgstr "aggregatfunktionsanrop kan inte nästlas" @@ -13617,12 +13611,12 @@ msgstr "aggregatfunktionsanrop kan inte nästlas" msgid "custom scan \"%s\" does not support MarkPos" msgstr "egen skanning \"%s\" stöder inte MarkPos" -#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1144 executor/nodeHashjoin.c:1174 #, c-format msgid "could not rewind hash-join temporary file" msgstr "kunde inte spola tillbaka hash-join-temporärfil" -#: executor/nodeIndexonlyscan.c:238 +#: executor/nodeIndexonlyscan.c:240 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "distansfunktioner som är \"lossy\" stöds inte vid skanning av enbart index" @@ -13637,77 +13631,78 @@ msgstr "OFFSET kan inte vara negativ" msgid "LIMIT must not be negative" msgstr "LIMIT kan inte vara negativ" -#: executor/nodeMergejoin.c:1579 +#: executor/nodeMergejoin.c:1580 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "RIGHT JOIN stöds bara med merge-joinbara join-villor" -#: executor/nodeMergejoin.c:1597 +#: executor/nodeMergejoin.c:1598 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOIN stöds bara med merge-joinbara join-villkor" -#: executor/nodeModifyTable.c:234 +#: executor/nodeModifyTable.c:242 #, c-format msgid "Query has too few columns." msgstr "Frågan har för få kolumner" -#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604 +#: executor/nodeModifyTable.c:1542 executor/nodeModifyTable.c:1616 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "tupel som skall tas bort hade redan ändrats av en operation som triggats av aktuellt kommando" -#: executor/nodeModifyTable.c:1758 +#: executor/nodeModifyTable.c:1771 #, c-format msgid "invalid ON UPDATE specification" msgstr "ogiltig ON UPDATE-angivelse" -#: executor/nodeModifyTable.c:1759 +#: executor/nodeModifyTable.c:1772 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "Resultattupeln kommer dyka upp i en annan partition än originaltupeln." -#: executor/nodeModifyTable.c:2217 +#: executor/nodeModifyTable.c:2231 #, 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 "kan inte flytta en tupel mellan partitioner när en icke-root-förälder av källpartitionen direkt refereras av en främmande nyckel" -#: executor/nodeModifyTable.c:2218 +#: executor/nodeModifyTable.c:2232 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "En främmande nyckel pekar på förfadern \"%s\" men inte på root-förfadern \"%s\"." -#: executor/nodeModifyTable.c:2221 +#: executor/nodeModifyTable.c:2235 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "Överväg att skapa den främmande nyckeln på tabellen \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 +#: executor/nodeModifyTable.c:2582 executor/nodeModifyTable.c:3005 +#: executor/nodeModifyTable.c:3132 #, c-format msgid "%s command cannot affect row a second time" msgstr "%s-kommandot kan inte påverka raden en andra gång" -#: executor/nodeModifyTable.c:2569 +#: executor/nodeModifyTable.c:2584 #, c-format msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Säkerställ att inga rader föreslagna för \"insert\" inom samma kommando har upprepade villkorsvärden." -#: executor/nodeModifyTable.c:2957 +#: executor/nodeModifyTable.c:2998 executor/nodeModifyTable.c:3125 +#, c-format +msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" +msgstr "tupel som skall uppdateras eller raderas hade redan ändrats av en operation som triggats av aktuellt kommando" + +#: executor/nodeModifyTable.c:3007 executor/nodeModifyTable.c:3134 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Säkerställ att inte mer än en källrad matchar någon målrad." -#: executor/nodeModifyTable.c:3038 +#: executor/nodeModifyTable.c:3089 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "tupel som skall raderas har redan flyttats till en annan partition på grund av samtidig update" -#: executor/nodeModifyTable.c:3077 -#, c-format -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "tupel som skall uppdateras eller raderas hade redan ändrats av en operation som triggats av aktuellt kommando" - #: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" @@ -13825,33 +13820,33 @@ msgstr "kan inte öppna %s-fråga som markör" msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE stöds inte" -#: executor/spi.c:1717 parser/analyze.c:2912 +#: executor/spi.c:1717 parser/analyze.c:2923 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbara markörer måste vara READ ONLY." -#: executor/spi.c:2474 +#: executor/spi.c:2487 #, c-format msgid "empty query does not return tuples" msgstr "en tom fråga returnerar inga tupler" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2548 +#: executor/spi.c:2561 #, c-format msgid "%s query does not return tuples" msgstr "%s-fråga returnerar inga tupler" -#: executor/spi.c:2963 +#: executor/spi.c:2975 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-uttryck \"%s\"" -#: executor/spi.c:2968 +#: executor/spi.c:2980 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL-tilldelning \"%s\"" -#: executor/spi.c:2971 +#: executor/spi.c:2983 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-sats: \"%s\"" @@ -13995,7 +13990,7 @@ msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER stöds inte" msgid "duplicate trigger events specified" msgstr "multipla triggerhändelser angivna" -#: gram.y:5990 parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 +#: gram.y:5990 parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3720 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "villkor deklarerat INITIALLY DEFERRED måste vara DEFERRABLE" @@ -14333,7 +14328,7 @@ msgstr "ogiltig hexdecimal teckensekvens" msgid "unexpected end after backslash" msgstr "oväntat slut efter bakstreck" -#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:742 msgid "unterminated quoted string" msgstr "icketerminerad citerad sträng" @@ -14345,8 +14340,8 @@ msgstr "oväntat slut på kommentar" msgid "invalid numeric literal" msgstr "ogiltig numerisk literal" -#: 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 "efterföljande skräp efter numerisk literal" @@ -14717,379 +14712,379 @@ msgstr "felaktig storlek på lösenordspaket" msgid "empty password returned by client" msgstr "tomt lösenord returnerat av klient" -#: libpq/auth.c:879 libpq/hba.c:1727 +#: libpq/auth.c:877 libpq/hba.c:1727 #, c-format msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "MD5-autentisering stöds inte när \"db_user_namespace\" är påslaget" -#: libpq/auth.c:885 +#: libpq/auth.c:883 #, c-format msgid "could not generate random MD5 salt" msgstr "kunde inte generera slumpmässigt MD5-salt" -#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540 +#: libpq/auth.c:934 libpq/be-secure-gssapi.c:540 #, c-format msgid "could not set environment: %m" msgstr "kunde inte sätta omgivningsvariabel: %m" -#: libpq/auth.c:975 +#: libpq/auth.c:973 #, c-format msgid "expected GSS response, got message type %d" msgstr "förväntade GSS-svar, fick meddelandetyp %d" -#: libpq/auth.c:1041 +#: libpq/auth.c:1039 msgid "accepting GSS security context failed" msgstr "accepterande av GSS-säkerhetskontext misslyckades" -#: libpq/auth.c:1082 +#: libpq/auth.c:1080 msgid "retrieving GSS user name failed" msgstr "mottagande av GSS-användarnamn misslyckades" -#: libpq/auth.c:1228 +#: libpq/auth.c:1226 msgid "could not acquire SSPI credentials" msgstr "kunde inte hämta SSPI-referenser" -#: libpq/auth.c:1253 +#: libpq/auth.c:1251 #, c-format msgid "expected SSPI response, got message type %d" msgstr "förväntade SSPI-svar, fick meddelandetyp %d" -#: libpq/auth.c:1331 +#: libpq/auth.c:1329 msgid "could not accept SSPI security context" msgstr "kunde inte acceptera SSPI-säkerhetskontext" -#: libpq/auth.c:1372 +#: libpq/auth.c:1370 msgid "could not get token from SSPI security context" msgstr "kunde inte hämta token från SSPI-säkerhetskontext" -#: libpq/auth.c:1508 libpq/auth.c:1527 +#: libpq/auth.c:1506 libpq/auth.c:1525 #, c-format msgid "could not translate name" msgstr "kunde inte översätta namn" -#: libpq/auth.c:1540 +#: libpq/auth.c:1538 #, c-format msgid "realm name too long" msgstr "realm-namn för långt" -#: libpq/auth.c:1555 +#: libpq/auth.c:1553 #, c-format msgid "translated account name too long" msgstr "översatt kontonamn för långt" -#: libpq/auth.c:1734 +#: libpq/auth.c:1732 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "kunde inte skapa uttag (socket) för Ident-anslutning: %m" -#: libpq/auth.c:1749 +#: libpq/auth.c:1747 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "kunde inte binda till lokal adress \"%s\": %m" -#: libpq/auth.c:1761 +#: libpq/auth.c:1759 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "kunde inte ansluta till Ident-server på adress \"%s\", port %s: %m" -#: libpq/auth.c:1783 +#: libpq/auth.c:1781 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "kunde inte skicka fråga till Ident-server på adress \"%s\", port %s: %m" -#: libpq/auth.c:1800 +#: libpq/auth.c:1798 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "kunde inte ta emot svar från Ident-server på adress \"%s\", port %s: %m" -#: libpq/auth.c:1810 +#: libpq/auth.c:1808 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "ogiltigt formatterat svar från Ident-server: \"%s\"" -#: libpq/auth.c:1863 +#: libpq/auth.c:1861 #, c-format msgid "peer authentication is not supported on this platform" msgstr "peer-autentisering stöds inte på denna plattform" -#: libpq/auth.c:1867 +#: libpq/auth.c:1865 #, c-format msgid "could not get peer credentials: %m" msgstr "kunde inte hämta peer-referenser: %m" -#: libpq/auth.c:1879 +#: libpq/auth.c:1877 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "kunde inte slå upp lokalt användar-id %ld: %s" -#: libpq/auth.c:1981 +#: libpq/auth.c:1979 #, c-format msgid "error from underlying PAM layer: %s" msgstr "fel från underliggande PAM-lager: %s" -#: libpq/auth.c:1992 +#: libpq/auth.c:1990 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "ej stödd PAM-konversation: %d/\"%s\"" -#: libpq/auth.c:2049 +#: libpq/auth.c:2047 #, c-format msgid "could not create PAM authenticator: %s" msgstr "kunde inte skapa PAM-autentiserare: %s" -#: libpq/auth.c:2060 +#: libpq/auth.c:2058 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER) misslyckades: %s" -#: libpq/auth.c:2092 +#: libpq/auth.c:2090 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST) misslyckades: %s" -#: libpq/auth.c:2104 +#: libpq/auth.c:2102 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "pam_set_item(PAM_CONV) misslyckades: %s" -#: libpq/auth.c:2117 +#: libpq/auth.c:2115 #, c-format msgid "pam_authenticate failed: %s" msgstr "pam_authenticate misslyckades: %s" -#: libpq/auth.c:2130 +#: libpq/auth.c:2128 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt misslyckades: %s" -#: libpq/auth.c:2141 +#: libpq/auth.c:2139 #, c-format msgid "could not release PAM authenticator: %s" msgstr "kunde inte fria PAM-autentiserare: %s" -#: libpq/auth.c:2221 +#: libpq/auth.c:2219 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "kunde inte initiera LDAP: felkod %d" -#: libpq/auth.c:2258 +#: libpq/auth.c:2256 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "kunde inte extrahera domännamn från ldapbasedn" -#: libpq/auth.c:2266 +#: libpq/auth.c:2264 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "LDAP-autentisering kunde inte hitta DNS SRV-poster för \"%s\"" -#: libpq/auth.c:2268 +#: libpq/auth.c:2266 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Ange LDAP-servernamnet explicit." -#: libpq/auth.c:2320 +#: libpq/auth.c:2318 #, c-format msgid "could not initialize LDAP: %s" msgstr "kunde inte initiera LDAP: %s" -#: libpq/auth.c:2330 +#: libpq/auth.c:2328 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "ldaps stöds inte med detta LDAP-bibliotek" -#: libpq/auth.c:2338 +#: libpq/auth.c:2336 #, c-format msgid "could not initialize LDAP: %m" msgstr "kunde inte initiera LDAP: %m" -#: libpq/auth.c:2348 +#: libpq/auth.c:2346 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "kunde inte sätta LDAP-protokollversion: %s" -#: libpq/auth.c:2364 +#: libpq/auth.c:2362 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "kunde inte starta LDAP TLS-session: %s" -#: libpq/auth.c:2441 +#: libpq/auth.c:2439 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "LDAP-server inte angiven och ingen ldapbasedn" -#: libpq/auth.c:2448 +#: libpq/auth.c:2446 #, c-format msgid "LDAP server not specified" msgstr "LDAP-server inte angiven" -#: libpq/auth.c:2510 +#: libpq/auth.c:2508 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "ogiltigt tecken i användarnamn för LDAP-autentisering" -#: libpq/auth.c:2527 +#: libpq/auth.c:2525 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "kunde inte utföra initial LDAP-bindning med ldapbinddn \"%s\" på server \"%s\": %s" -#: libpq/auth.c:2557 +#: libpq/auth.c:2555 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "kunde inte söka i LDAP med filter \"%s\" på server \"%s\": %s" -#: libpq/auth.c:2573 +#: libpq/auth.c:2571 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "LDAP-användare \"%s\" finns inte" -#: libpq/auth.c:2574 +#: libpq/auth.c:2572 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "LDAP-sökning med filter \"%s\" på server \"%s\" returnerade inga poster." -#: libpq/auth.c:2578 +#: libpq/auth.c:2576 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "LDAP-användare \"%s\" är inte unik" -#: libpq/auth.c:2579 +#: libpq/auth.c:2577 #, 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] "LDAP-sökning med filter \"%s\" på server \"%s\" returnerade %d post." msgstr[1] "LDAP-sökning med filter \"%s\" på server \"%s\" returnerade %d poster." -#: libpq/auth.c:2599 +#: libpq/auth.c:2597 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "kunde inte hämta dn för första posten som matchar \"%s\" på värd \"%s\": %s" -#: libpq/auth.c:2620 +#: libpq/auth.c:2618 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\"" msgstr "kunde inte avbinda efter att ha sökt efter användare \"%s\" på värd \"%s\"" -#: libpq/auth.c:2651 +#: libpq/auth.c:2649 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "LDAP-inloggning misslyckades för användare \"%s\" på värd \"%s\": %s" -#: libpq/auth.c:2683 +#: libpq/auth.c:2681 #, c-format msgid "LDAP diagnostics: %s" msgstr "LDAP-diagnostik: %s" -#: libpq/auth.c:2721 +#: libpq/auth.c:2719 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "certifikatautentisering misslyckades för användare \"%s\": klientcertifikatet innehåller inget användarnamn" -#: libpq/auth.c:2742 +#: libpq/auth.c:2740 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "certifikat-autentisering misslyckades för användare \"%s\": kan inte hämta subject DN" -#: libpq/auth.c:2765 +#: libpq/auth.c:2763 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "certifikat-validering (clientcert=verify-full) misslyckades för användare \"%s\": DN matchade inte" -#: libpq/auth.c:2770 +#: libpq/auth.c:2768 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "certifikat-validering (clientcert=verify-full) misslyckades för användare \"%s\": CN matchade inte" -#: libpq/auth.c:2872 +#: libpq/auth.c:2870 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS-server inte angiven" -#: libpq/auth.c:2879 +#: libpq/auth.c:2877 #, c-format msgid "RADIUS secret not specified" msgstr "RADIUS-hemlighet inte angiven" -#: libpq/auth.c:2893 +#: libpq/auth.c:2891 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "RADIUS-autentisering stöder inte längre lösenord än %d tecken" -#: libpq/auth.c:2995 libpq/hba.c:2369 +#: libpq/auth.c:2993 libpq/hba.c:2369 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "kunde inte översätta RADIUS-värdnamn \"%s\" till adress: %s" -#: libpq/auth.c:3009 +#: libpq/auth.c:3007 #, c-format msgid "could not generate random encryption vector" msgstr "kunde inte generera slumpad kodningsvektor" -#: libpq/auth.c:3046 +#: libpq/auth.c:3044 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "kunde inte utföra MD5-kryptering av lösenord: %s" -#: libpq/auth.c:3073 +#: libpq/auth.c:3071 #, c-format msgid "could not create RADIUS socket: %m" msgstr "kunde inte skapa RADIUS-uttag (socket): %m" -#: libpq/auth.c:3089 +#: libpq/auth.c:3087 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "kunde inte binda lokalt RADIUS-uttag (socket): %m" -#: libpq/auth.c:3099 +#: libpq/auth.c:3097 #, c-format msgid "could not send RADIUS packet: %m" msgstr "kan inte skicka RADIUS-paketet: %m" -#: libpq/auth.c:3133 libpq/auth.c:3159 +#: libpq/auth.c:3131 libpq/auth.c:3157 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "timeout vid väntande på RADIUS-svar från %s" -#: libpq/auth.c:3152 +#: libpq/auth.c:3150 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "kunde inte kontrollera status på RADIUS-uttag (socket): %m" -#: libpq/auth.c:3182 +#: libpq/auth.c:3180 #, c-format msgid "could not read RADIUS response: %m" msgstr "kunde inte läsa RADIUS-svar: %m" -#: libpq/auth.c:3190 +#: libpq/auth.c:3188 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "RADIUS-svar från %s skickades från fel port: %d" -#: libpq/auth.c:3198 +#: libpq/auth.c:3196 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "RADIUS-svar från %s är för kort: %d" -#: libpq/auth.c:3205 +#: libpq/auth.c:3203 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "RADIUS-svar från %s har felaktig längd: %d (riktig längd %d)" -#: libpq/auth.c:3213 +#: libpq/auth.c:3211 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "RADIUS-svar från %s tillhör en annan förfrågan: %d (skall vara %d)" -#: libpq/auth.c:3238 +#: libpq/auth.c:3236 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "kunde inte utföra MD5-kryptering på mottaget paket: %s" -#: libpq/auth.c:3248 +#: libpq/auth.c:3246 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "RADIUS-svar från %s har inkorrekt MD5-signatur" -#: libpq/auth.c:3266 +#: libpq/auth.c:3264 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "RADIUS-svar från %s har ogiltig kod (%d) för användare \"%s\"" @@ -15152,9 +15147,9 @@ msgstr "läsförfrågan för stort objekt är för stort" msgid "requested length cannot be negative" msgstr "efterfrågad längd kan inte vara negativ" -#: 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 +#: 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 "rättighet saknas för stort objekt %u" @@ -15194,16 +15189,16 @@ msgstr "privat nyckelfil \"%s\" har grupp eller världsaccess" 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 "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." -#: libpq/be-secure-gssapi.c:204 +#: libpq/be-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "GSSAPI-fel vid inpackning" -#: libpq/be-secure-gssapi.c:211 +#: libpq/be-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "utående GSSAPI-meddelande skulle inte använda sekretess" -#: 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 "servern försöke skicka för stort GSSAPI-paket (%zu > %zu)" @@ -15286,166 +15281,166 @@ msgstr "kunde inte sätta SSL-protokollversionsintervall" 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:297 #, 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:317 #, 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:366 #, 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:374 #, 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:382 #, 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:440 #, 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:451 #, 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:459 #, 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:515 #, 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:519 libpq/be-secure-openssl.c:574 #, 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:558 #, 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:562 #, 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:579 libpq/be-secure-openssl.c:768 +#: libpq/be-secure-openssl.c:838 #, 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:625 #, 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:671 #, 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:757 libpq/be-secure-openssl.c:822 #, c-format msgid "SSL error: %s" msgstr "SSL-fel: %s" -#: libpq/be-secure-openssl.c:985 +#: libpq/be-secure-openssl.c:999 #, 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:1011 #, 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:1021 #, c-format msgid "invalid DH parameters: %s" msgstr "ogiltiga DH-parametrar: %s" -#: libpq/be-secure-openssl.c:1016 +#: libpq/be-secure-openssl.c:1030 #, 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:1039 #, 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:1175 #, 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:1212 #, 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:1213 msgid "unknown" msgstr "okänd" -#: libpq/be-secure-openssl.c:1290 +#: libpq/be-secure-openssl.c:1304 #, 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:1312 #, 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:1339 #, 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:1348 #, 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:1376 msgid "no SSL error reported" msgstr "inget SSL-fel rapporterat" -#: libpq/be-secure-openssl.c:1366 +#: libpq/be-secure-openssl.c:1393 #, c-format msgid "SSL error code %lu" msgstr "SSL-felkod %lu" -#: libpq/be-secure-openssl.c:1525 +#: libpq/be-secure-openssl.c:1552 #, c-format msgid "could not create BIO" msgstr "kunde inte skapa BIO" -#: libpq/be-secure-openssl.c:1535 +#: libpq/be-secure-openssl.c:1562 #, 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:1570 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "kunde inte konvertera NID %d till en ASN1_OBJECT-struktur" @@ -15846,167 +15841,167 @@ msgstr "givet användarnamn (%s) och autentiserat användarnamn (%s) matchar int 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:196 #, 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:357 #, 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:377 #, 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:381 #, 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:408 #, 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:417 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:420 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:431 +#: libpq/pqcomm.c:427 #, 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:451 #, 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:477 libpq/pqcomm.c:495 #, 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:518 #, 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:522 #, 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:524 #, 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:553 #, 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:561 #, 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:566 #, 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:655 #, c-format msgid "group \"%s\" does not exist" msgstr "gruppen \"%s\" existerar inte" -#: libpq/pqcomm.c:669 +#: libpq/pqcomm.c:665 #, 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:676 #, 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:704 #, 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 +#: 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) misslyckades: %m" -#: libpq/pqcomm.c:903 +#: libpq/pqcomm.c:899 #, c-format msgid "there is no client connection" msgstr "det finns ingen klientanslutning" -#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050 +#: libpq/pqcomm.c:955 libpq/pqcomm.c:1056 #, 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:1161 tcop/postgres.c:4405 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "stänger anslutning då protokollsynkroniseringen tappades" -#: libpq/pqcomm.c:1221 +#: libpq/pqcomm.c:1227 #, c-format msgid "unexpected EOF within message length word" msgstr "oväntat EOF inom meddelandelängdord" -#: libpq/pqcomm.c:1231 +#: libpq/pqcomm.c:1237 #, c-format msgid "invalid message length" msgstr "ogiltig meddelandelängd" -#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266 +#: libpq/pqcomm.c:1259 libpq/pqcomm.c:1272 #, c-format msgid "incomplete message from client" msgstr "inkomplett meddelande från klient" -#: libpq/pqcomm.c:1377 +#: libpq/pqcomm.c:1383 #, 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:1598 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) misslyckades: felkod %d" -#: libpq/pqcomm.c:1681 +#: libpq/pqcomm.c:1687 #, 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:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) stöds inte" @@ -16017,7 +16012,7 @@ 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/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1507 #: utils/adt/rowtypes.c:615 #, c-format msgid "insufficient data left in message" @@ -16337,7 +16332,7 @@ msgstr "okänd JSON-kodning: %s" #: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 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 +#: 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" @@ -16357,8 +16352,8 @@ msgstr "ej namngiven portal med parametrar: %s" 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:7111 parser/parse_merge.c:187 +#: parser/parse_merge.c:194 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "kan inte utföra MERGE på relation \"%s\"" @@ -16370,44 +16365,44 @@ 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:1361 parser/analyze.c:1772 parser/analyze.c:2029 +#: parser/analyze.c:3242 #, 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:2076 optimizer/plan/planner.c:4035 #, 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:2077 optimizer/plan/planner.c:4036 +#: optimizer/plan/planner.c:4676 optimizer/prep/prepunion.c:1053 #, 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:4675 #, c-format msgid "could not implement DISTINCT" msgstr "kunde inte implementera DISTINCT" -#: optimizer/plan/planner.c:6019 +#: optimizer/plan/planner.c:6014 #, 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:6015 #, 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:6019 #, 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:6020 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Fönsterordningskolumner måste ha en sorterbar datatyp." @@ -16428,7 +16423,7 @@ msgstr "Alla kolumndatatyper måsta vara hash-bara." msgid "could not implement %s" msgstr "kunde inte implementera %s" -#: optimizer/util/clauses.c:4856 +#: optimizer/util/clauses.c:4933 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL-funktion \"%s\" vid inline:ing" @@ -16438,27 +16433,27 @@ msgstr "SQL-funktion \"%s\" vid inline:ing" 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:728 #, 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:745 #, 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:795 #, 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:905 #, 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:826 parser/analyze.c:1551 #, c-format msgid "VALUES lists must all be the same length" msgstr "VÄRDE-listor måste alla ha samma längd" @@ -16478,526 +16473,526 @@ msgstr "INSERT har fler målkolumner än uttryck" 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:1358 parser/analyze.c:1745 #, 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:1674 parser/analyze.c:3474 #, 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:2584 #, 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:2687 #, 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:2748 #, 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:2873 parser/analyze.c:2881 #, 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:2901 #, 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:2909 #, 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:2912 #, 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:2920 #, 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:2931 #, 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:2934 #, 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:3028 #, 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:3038 #, 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:3048 #, 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:3060 #, 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:3249 #, 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:3256 #, 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:3263 #, 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:3270 #, 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:3277 #, 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:3284 #, 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:3383 #, 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:3447 #, 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:3456 #, 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:3465 #, 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:3483 #, 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:3492 #, 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:3512 #, 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:209 parser/parse_oper.c:227 #, 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:211 #, 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:269 #, 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:372 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:374 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:386 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:388 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:393 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:395 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:403 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:405 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:422 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:424 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:429 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:431 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:436 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:438 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:451 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:453 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:1956 #, 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_agg.c:780 parser/parse_expr.c:1700 parser/parse_expr.c:2182 #: parser/parse_func.c:884 #, 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:925 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:929 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:932 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:935 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:938 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:941 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:944 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:947 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:950 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:953 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:956 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:959 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:962 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:985 parser/parse_clause.c:1965 #, 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:1019 parser/parse_clause.c:2798 #, c-format msgid "window \"%s\" does not exist" msgstr "fönster \"%s\" finns inte" -#: parser/parse_agg.c:1096 +#: parser/parse_agg.c:1107 #, 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:1247 #, 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:1440 #, 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:1443 #, 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:1448 #, 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:1612 #, 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" @@ -17276,7 +17271,7 @@ 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_target.c:999 #, c-format msgid "cannot cast type %s to %s" msgstr "kan inte omvandla typ %s till %s" @@ -17335,19 +17330,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" @@ -17596,27 +17591,27 @@ msgstr "rekursiv fråga \"%s\" får inte innehålla datamodifierande satser" 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:917 #, 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:923 #, 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:929 #, 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:935 #, 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:1014 #, 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" @@ -17626,9 +17621,9 @@ msgstr "rekursiv referens till fråga \"%s\" får inte finnas med mer än en gå 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: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 #, c-format msgid "column %s.%s does not exist" msgstr "kolumnen %s.%s finns inte" @@ -17662,7 +17657,7 @@ 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_relation.c:915 parser/parse_target.c:1239 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "kolumnreferens \"%s\" är tvetydig" @@ -17752,7 +17747,7 @@ msgstr "kan inte använda subfråga i COPY FROM WHERE-villkor" 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:1851 parser/parse_expr.c:3626 #, c-format msgid "subquery must return only one column" msgstr "underfråga kan bara returnera en kolumn" @@ -17887,17 +17882,17 @@ msgstr "Enbart JSON-kodningen UTF8 stöds." 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:3710 parser/parse_func.c:865 #, 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:3933 #, 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:3953 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "kan inte använda typen %s i ett IS JSON-predikat" @@ -18241,22 +18236,22 @@ msgstr "mängdreturnerande funktioner tillåts inte i kolumngenereringsuttryck" 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:166 #, 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 +#: parser/parse_merge.c:196 #, 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:213 #, 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:215 #, 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." @@ -18352,13 +18347,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:3639 +#: parser/parse_relation.c:3648 #, 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:3650 #, 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." @@ -18459,52 +18454,52 @@ msgstr "join-uttryck \"%s\" har %d kolumner tillgängliga men %d kolumner angivn 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:3641 #, 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:3653 #, 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:3659 #, 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:3699 #, 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:3701 #, 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:3709 #, 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:3712 #, 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:3714 #, 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:3734 #, 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:3748 #, 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\"." @@ -18539,17 +18534,17 @@ msgstr "kan inte tilldela till fält \"%s\" i kolumn \"%s\" då dess typ %s inte 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:878 #, 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:888 #, 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:1328 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * utan tabeller angivna är inte giltigt" @@ -18590,330 +18585,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:583 #, 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:662 parser/parse_utilcmd.c:674 +#: parser/parse_utilcmd.c:733 #, 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:686 #, 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:703 #, 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:707 #, 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:716 #, 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:746 #, 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:750 #, 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:768 parser/parse_utilcmd.c:883 #, 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:777 parser/parse_utilcmd.c:893 #, 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:822 #, 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:830 #, 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:838 #, 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:903 #, 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 +#: parser/parse_utilcmd.c:909 #, 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:974 #, 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:987 #, 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:1746 parser/parse_utilcmd.c:1854 #, 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:2252 #, 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:2272 #, 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:2293 #, 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:2294 parser/parse_utilcmd.c:2301 +#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 #, 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:2300 #, c-format msgid "index \"%s\" contains expressions" msgstr "index \"%s\" innehåller uttryck" -#: parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2307 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" är ett partiellt index" -#: parser/parse_utilcmd.c:2303 +#: parser/parse_utilcmd.c:2319 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" är ett \"deferrable\" index" -#: parser/parse_utilcmd.c:2304 +#: parser/parse_utilcmd.c:2320 #, 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:2384 #, 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:2541 #, 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:2547 #, 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:2881 #, 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:2953 #, 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:2996 #, 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:3056 #, 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:3128 #, 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 +#: parser/parse_utilcmd.c:3146 parser/parse_utilcmd.c:3247 #: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 #, 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:3164 #, 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:3168 #, 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:3177 #, 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:3183 #, 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:3211 #, 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:3218 #, 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:3666 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "felplacerad DEFERRABLE-klausul" -#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 +#: parser/parse_utilcmd.c:3671 parser/parse_utilcmd.c:3686 #, 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:3681 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "felplacerad NOT DEFERRABLE-klausul" -#: parser/parse_utilcmd.c:3703 +#: parser/parse_utilcmd.c:3702 #, 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:3707 parser/parse_utilcmd.c:3733 #, 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:3728 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "felplacerad klausul INITIALLY IMMEDIATE" -#: parser/parse_utilcmd.c:3922 +#: parser/parse_utilcmd.c:3921 #, 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:3956 #, 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:3963 #, c-format msgid "table \"%s\" is not partitioned" msgstr "tabell \"%s\" är inte partitionerad" -#: parser/parse_utilcmd.c:3971 +#: parser/parse_utilcmd.c:3970 #, c-format msgid "index \"%s\" is not partitioned" msgstr "index \"%s\" är inte partitionerad" -#: parser/parse_utilcmd.c:4011 +#: parser/parse_utilcmd.c:4010 #, 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:4027 #, 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:4033 partitioning/partbounds.c:4803 #, 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:4040 partitioning/partbounds.c:4811 #, 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:4053 #, 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:4106 #, 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:4112 #, 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:4116 #, 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:4230 #, 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:4279 #, 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:4286 #, 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:4329 #, 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 +18916,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:1391 #, 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:702 utils/adt/varlena.c:6505 #, c-format msgid "invalid Unicode escape" msgstr "ogiltig Unicode-escapesekvens" @@ -18941,7 +18931,7 @@ 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 +#: parser/parser.c:523 scan.l:663 scan.l:679 scan.l:695 #: utils/adt/varlena.c:6530 #, c-format msgid "invalid Unicode surrogate pair" @@ -18981,7 +18971,7 @@ msgstr "tom intervallsgräns angiven för partition \"%s\"" #: partitioning/partbounds.c:3130 #, 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 #, c-format @@ -19086,12 +19076,12 @@ msgstr "stora sidor stöds inte på denna plattform" 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:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1358 #, 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:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1360 #, 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\"." @@ -19238,47 +19228,47 @@ msgstr "Misslyckat systemanrop var DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "Misslyckat systemanrop var MapViewOfFileEx." -#: postmaster/autovacuum.c:417 +#: postmaster/autovacuum.c:418 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "kunde inte starta autovacuum-process: %m" -#: postmaster/autovacuum.c:764 +#: postmaster/autovacuum.c:765 #, 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 +#: postmaster/autovacuum.c:1490 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "kunde inte starta autovacuum-arbetsprocess: %m" -#: postmaster/autovacuum.c:2334 +#: postmaster/autovacuum.c:2353 #, 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:2589 #, 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:2592 #, 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:2786 #, 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:3400 #, 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:3401 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Slå på flaggan \"track_counts\"." @@ -20072,138 +20062,138 @@ msgstr "ogiltig tidslinje %u" 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:245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:332 #, c-format msgid "password is required" msgstr "lösenord krävs" -#: replication/libpqwalreceiver/libpqwalreceiver.c:198 +#: replication/libpqwalreceiver/libpqwalreceiver.c:246 #, 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:247 #, 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:259 #, 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:305 #, c-format msgid "invalid connection string syntax: %s" msgstr "ogiltig anslutningssträngsyntax %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:281 +#: replication/libpqwalreceiver/libpqwalreceiver.c:333 #, 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:360 #, 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:433 #, 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:449 +#: replication/libpqwalreceiver/libpqwalreceiver.c:692 #, 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:450 #, 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:535 +#: replication/libpqwalreceiver/libpqwalreceiver.c:542 +#: replication/libpqwalreceiver/libpqwalreceiver.c:572 #, 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:596 #, 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:619 #, 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:634 #, 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:644 #, 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:653 +#: replication/libpqwalreceiver/libpqwalreceiver.c:889 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "oväntat resultat efter CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:623 +#: replication/libpqwalreceiver/libpqwalreceiver.c:680 #, 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:693 #, 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:852 +#: replication/libpqwalreceiver/libpqwalreceiver.c:905 +#: replication/libpqwalreceiver/libpqwalreceiver.c:912 #, 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:932 #, 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:1024 #, 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:1070 #, c-format msgid "invalid query response" msgstr "ogiltigt frågerespons" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1071 #, 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:1141 #, 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:1172 msgid "empty query" msgstr "tom fråga" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1178 msgid "unexpected pipeline mode" msgstr "oväntat pipeline-läge" @@ -20259,9 +20249,9 @@ 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 +#: replication/slot.c:1297 storage/lmgr/lock.c:998 storage/lmgr/lock.c:1036 +#: storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4206 storage/lmgr/lock.c:4271 +#: storage/lmgr/lock.c:4621 storage/lmgr/predicate.c:2413 #: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 #, c-format msgid "You might need to increase %s." @@ -20292,70 +20282,70 @@ msgstr "logisk avkodning kräver wal_level >= logical" 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:366 replication/logical/logical.c:520 #, 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:371 replication/logical/logical.c:525 #, 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:378 #, 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:537 replication/logical/logical.c:544 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "kan inte längre få ändringar från replikeringsslot \"%s\"" -#: replication/logical/logical.c:536 +#: replication/logical/logical.c:539 #, 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:543 +#: replication/logical/logical.c:546 #, 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:608 +#: replication/logical/logical.c:611 #, 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:613 #, 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:761 #, 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:767 #, 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:938 replication/logical/logical.c:983 +#: replication/logical/logical.c:1028 replication/logical/logical.c:1074 #, 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:1306 replication/logical/logical.c:1355 +#: replication/logical/logical.c:1396 replication/logical/logical.c:1482 +#: replication/logical/logical.c:1531 #, 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:1441 #, 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" @@ -20452,7 +20442,7 @@ msgid "could not find free replication state slot for replication origin with ID 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/slot.c:2120 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Öka max_replication_slots och försök igen." @@ -20544,113 +20534,113 @@ 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:1392 replication/logical/snapbuild.c:1489 +#: replication/logical/snapbuild.c:2005 #, 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:1394 #, c-format msgid "There are no running transactions." msgstr "Det finns inga körande transaktioner." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1441 #, 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:1443 replication/logical/snapbuild.c:1467 #, 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:1465 #, 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:1491 #, 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:1892 #, 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:1898 #, 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:1939 #, 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:2007 #, 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:2114 #, c-format msgid "could not parse file name \"%s\"" msgstr "kunde inte parsa filnamn \"%s\"" -#: replication/logical/tablesync.c:153 +#: replication/logical/tablesync.c:160 #, 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:639 #, 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:814 replication/logical/tablesync.c:956 #, 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:821 #, 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:879 #, 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:1058 #, 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:1217 #, 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:1418 #, 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:1460 #, 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:1493 replication/logical/worker.c:2374 #, 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:1506 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "tabellkopiering kunde inte slutföra transaktion på publiceraren: %s" @@ -20800,57 +20790,57 @@ msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandet 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:317 #, c-format msgid "invalid proto_version" msgstr "ogiltig proto_version" -#: replication/pgoutput/pgoutput.c:323 +#: replication/pgoutput/pgoutput.c:322 #, 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:339 #, c-format msgid "invalid publication_names syntax" msgstr "ogiltig publication_names-syntax" -#: replication/pgoutput/pgoutput.c:443 +#: replication/pgoutput/pgoutput.c:440 #, 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:446 #, 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 +#: replication/pgoutput/pgoutput.c:452 #, c-format msgid "publication_names parameter missing" msgstr "saknar parameter publication_names" -#: replication/pgoutput/pgoutput.c:469 +#: replication/pgoutput/pgoutput.c:466 #, 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:472 #, 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:477 #, 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:494 #, 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:499 #, 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" @@ -20901,7 +20891,7 @@ msgstr "replikeringsslot \"%s\" existerar inte" 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:756 replication/slot.c:1672 replication/slot.c:2055 #, c-format msgid "could not remove directory \"%s\"" msgstr "kunde inte ta bort katalog \"%s\"" @@ -20952,47 +20942,47 @@ msgstr "avslutar process %d för att frigöra replikeringsslot \"%s\"" msgid "invalidating obsolete replication slot \"%s\"" msgstr "invaliderar obsolet replikeringssslot \"%s\"" -#: replication/slot.c:1966 +#: replication/slot.c:1993 #, 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:2000 #, 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:2007 #, 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:2043 #, 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:2077 #, c-format 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:2079 #, c-format 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:2083 #, c-format 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:2085 #, c-format 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:2119 #, c-format msgid "too many replication slots active before shutdown" msgstr "för många aktiva replikeringsslottar innan nerstängning" @@ -21501,7 +21491,7 @@ msgstr "kolumn \"%s\" kan bara uppdateras till DEFAULT" 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:2119 rewrite/rewriteHandler.c:4047 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "oändlig rekursion detekterad i reglerna för relation \"%s\"" @@ -21576,83 +21566,83 @@ msgstr "Vyer som innehåller TABLESAMPLE är inte automatiskt uppdateringsbara." 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:3168 #, 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:3176 #, 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:3674 #, 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:3685 #, 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:3699 #, 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:3703 #, 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:3708 #, 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 +#: rewrite/rewriteHandler.c:3975 rewrite/rewriteHandler.c:3983 +#: rewrite/rewriteHandler.c:3991 #, c-format 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:4096 #, 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:4098 #, 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:4103 #, 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:4105 #, 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:4110 #, 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:4112 #, 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:4130 #, 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:4187 #, 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" @@ -21677,117 +21667,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:483 msgid "unterminated /* comment" msgstr "ej avslutad /*-kommentar" -#: scan.l:502 +#: scan.l:503 msgid "unterminated bit string literal" msgstr "ej avslutad bitsträngslitteral" -#: scan.l:516 +#: scan.l:517 msgid "unterminated hexadecimal string literal" msgstr "ej avslutad hexadecimal stränglitteral" -#: scan.l:566 +#: scan.l:567 #, 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:568 #, 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." -#: scan.l:628 +#: scan.l:629 msgid "unhandled previous state in xqs" msgstr "tidigare state i xqs som ej kan hanteras" -#: scan.l:702 +#: scan.l:703 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Unicode-escapesekvenser måste vara \\uXXXX eller \\UXXXXXXXX." -#: scan.l:713 +#: scan.l:714 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "osäker användning av \\' i stränglitteral" -#: scan.l:714 +#: scan.l:715 #, 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:787 msgid "unterminated dollar-quoted string" msgstr "icke terminerad dollarciterad sträng" -#: scan.l:803 scan.l:813 +#: scan.l:804 scan.l:814 msgid "zero-length delimited identifier" msgstr "noll-längds avdelad identifierare" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:825 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "icke terminerad citerad identifierare" -#: scan.l:987 +#: scan.l:988 msgid "operator too long" msgstr "operatorn är för lång" -#: scan.l:1000 +#: scan.l:1001 msgid "trailing junk after parameter" msgstr "skräptecken kommer efter parameter" -#: scan.l:1021 +#: scan.l:1022 msgid "invalid hexadecimal integer" msgstr "ogiltigt hexdecimalt heltal" -#: scan.l:1025 +#: scan.l:1026 msgid "invalid octal integer" msgstr "ogiltigt oktalt heltal" -#: scan.l:1029 +#: scan.l:1030 msgid "invalid binary integer" msgstr "ogiltigt binärt heltal" #. 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 vid slutet av indatan" #. 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 vid eller nära \"%s\"" -#: scan.l:1434 +#: scan.l:1435 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "ickestandard användning av \\' i stränglitteral" -#: scan.l:1435 +#: scan.l:1436 #, 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:1445 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "ickestandard användning av \\\\ i strängslitteral" -#: scan.l:1445 +#: scan.l:1446 #, 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:1460 #, 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:1461 #, 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'." @@ -22135,23 +22125,23 @@ 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/procarray.c:3807 #, 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:3843 storage/ipc/procarray.c:3851 +#: 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:3844 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:3852 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." @@ -22171,9 +22161,9 @@ msgstr "kan inte skicka ett meddelande med storlek %zu via kö i delat minne" 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/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:997 +#: storage/lmgr/lock.c:1035 storage/lmgr/lock.c:2820 storage/lmgr/lock.c:4205 +#: storage/lmgr/lock.c:4270 storage/lmgr/lock.c:4620 #: 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 @@ -22211,56 +22201,56 @@ 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 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1387 #: utils/adt/mcxtfuncs.c:190 #, 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 +#: storage/ipc/signalfuncs.c:284 #, 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 +#: storage/ipc/signalfuncs.c:286 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:292 storage/ipc/signalfuncs.c:312 #, c-format msgid "rotation not possible because log collection not active" msgstr "rotering är inte möjligt då logginsamling inte är aktiverad" @@ -22322,17 +22312,17 @@ msgstr "återställningskonflikt vid databas" 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:273 #, 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:456 #, 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:628 #, c-format msgid "invalid large object write request size: %d" msgstr "ogiltig storlek för stort objects skrivningbegäran: %d" @@ -22357,122 +22347,122 @@ 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:853 #, 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:856 #, 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:859 #, 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:862 #, 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:865 #, 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:868 #, 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:871 #, 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:874 #, 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:1206 #, c-format msgid "relation %u of database %u" msgstr "relation %u i databasen %u" -#: storage/lmgr/lmgr.c:1180 +#: storage/lmgr/lmgr.c:1212 #, 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:1218 #, 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:1223 #, 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:1230 #, 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:1238 #, c-format msgid "transaction %u" msgstr "transaktion %u" -#: storage/lmgr/lmgr.c:1211 +#: storage/lmgr/lmgr.c:1243 #, c-format msgid "virtual transaction %d/%u" msgstr "vituell transaktion %d/%u" -#: storage/lmgr/lmgr.c:1217 +#: storage/lmgr/lmgr.c:1249 #, 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:1255 #, 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:1263 #, c-format msgid "user lock [%u,%u,%u]" msgstr "användarlås [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1238 +#: storage/lmgr/lmgr.c:1270 #, 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:1278 #, 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:1285 #, c-format msgid "unrecognized locktag type %d" msgstr "okänd låsetikettyp %d" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:825 #, 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:827 #, 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:3269 storage/lmgr/lock.c:3337 storage/lmgr/lock.c:3453 #, 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" @@ -22541,27 +22531,27 @@ msgstr "Transaktionen kan lyckas om den körs igen." 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:1480 #, 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:1495 #, 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:1504 #, 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:1511 #, 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:1528 #, 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" @@ -23318,37 +23308,37 @@ msgstr "MaxFragments skall vara >= 0" msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "kunde inte radera permanent statistikfil \"%s\": %m" -#: utils/activity/pgstat.c:1252 +#: utils/activity/pgstat.c:1255 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "ogiltig statistiktyp \"%s\"" -#: utils/activity/pgstat.c:1332 +#: utils/activity/pgstat.c:1335 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "kunde inte öppna temporär statistikfil \"%s\": %m" -#: utils/activity/pgstat.c:1444 +#: utils/activity/pgstat.c:1447 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "kunde inte skriva temporär statistikfil \"%s\": %m" -#: utils/activity/pgstat.c:1453 +#: utils/activity/pgstat.c:1456 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "kunde inte stänga temporär statistikfil \"%s\": %m" -#: utils/activity/pgstat.c:1461 +#: utils/activity/pgstat.c:1464 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "kunde inte döpa om temporär statistikfil \"%s\" till \"%s\": %m" -#: utils/activity/pgstat.c:1510 +#: utils/activity/pgstat.c:1513 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "kunde inte öppna statistikfil \"%s\": %m" -#: utils/activity/pgstat.c:1672 +#: utils/activity/pgstat.c:1675 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "korrupt statistikfil \"%s\"" @@ -23484,7 +23474,7 @@ msgstr "indatatyp är inte en 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:1257 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 +#: utils/adt/int8.c:1272 utils/adt/numeric.c:1916 utils/adt/numeric.c:4403 #: 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 @@ -23525,7 +23515,7 @@ 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/arrayfuncs.c:5646 utils/adt/arrayfuncs.c:5652 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "kan inte ackumulera arrayer med olika dimensioner" @@ -23545,59 +23535,59 @@ msgstr "initiala positionen får ej vara null" 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: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 #, c-format msgid "malformed array literal: \"%s\"" msgstr "felaktig array-literal: \"%s\"" -#: utils/adt/arrayfuncs.c:274 +#: utils/adt/arrayfuncs.c:275 #, 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:289 #, c-format msgid "Missing array dimension value." msgstr "Saknar värde i array-dimension." -#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 +#: utils/adt/arrayfuncs.c:300 utils/adt/arrayfuncs.c:339 #, 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:309 utils/adt/arrayfuncs.c:2976 +#: utils/adt/arrayfuncs.c:3021 utils/adt/arrayfuncs.c:3036 #, 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:321 +#: utils/adt/arrayfuncs.c:322 #, c-format msgid "Array value must start with \"{\" or dimension information." msgstr "Array-värde måste starta med \"{\" eller dimensionsinformation" -#: utils/adt/arrayfuncs.c:352 +#: utils/adt/arrayfuncs.c:353 #, c-format msgid "Array contents must start with \"{\"." msgstr "Array-innehåll måste starta med \"{\"." -#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 +#: utils/adt/arrayfuncs.c:361 utils/adt/arrayfuncs.c:368 #, c-format msgid "Specified array dimensions do not match array contents." msgstr "Angivna array-dimensioner matchar inte array-innehållet." -#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:533 +#: 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 @@ -23605,74 +23595,74 @@ msgstr "Angivna array-dimensioner matchar inte array-innehållet." msgid "Unexpected end of input." msgstr "oväntat slut på indata." -#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 -#: utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 +#: utils/adt/arrayfuncs.c:523 utils/adt/arrayfuncs.c:570 +#: utils/adt/arrayfuncs.c:600 utils/adt/arrayfuncs.c:649 #, 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:549 utils/adt/arrayfuncs.c:672 #, c-format msgid "Unexpected array element." msgstr "Oväntat array-element." -#: utils/adt/arrayfuncs.c:606 +#: utils/adt/arrayfuncs.c:607 #, c-format msgid "Unmatched \"%c\" character." msgstr "Icke matchat tecken \"%c\"." -#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 +#: utils/adt/arrayfuncs.c:615 utils/adt/jsonfuncs.c:2553 #, 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:692 utils/adt/multirangetypes.c:293 #, c-format msgid "Junk after closing right brace." msgstr "Skräp efter avslutande höger parentes." -#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 -#: utils/adt/arrayfuncs.c:6080 +#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3535 +#: utils/adt/arrayfuncs.c:6136 #, c-format msgid "invalid number of dimensions: %d" msgstr "felaktigt antal dimensioner: %d" -#: utils/adt/arrayfuncs.c:1336 +#: utils/adt/arrayfuncs.c:1337 #, c-format msgid "invalid array flags" msgstr "ogiltiga array-flaggor" -#: utils/adt/arrayfuncs.c:1358 +#: utils/adt/arrayfuncs.c:1359 #, 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/arrayfuncs.c:1403 utils/adt/multirangetypes.c:451 #: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916 #, 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:1543 #, 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/arrayfuncs.c:1624 utils/adt/multirangetypes.c:456 #: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949 #, 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:2103 #, 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/arrayfuncs.c:2281 utils/adt/arrayfuncs.c:2303 +#: utils/adt/arrayfuncs.c:2352 utils/adt/arrayfuncs.c:2606 +#: utils/adt/arrayfuncs.c:2951 utils/adt/arrayfuncs.c:6122 +#: utils/adt/arrayfuncs.c:6148 utils/adt/arrayfuncs.c:6159 #: 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 @@ -23680,111 +23670,111 @@ msgstr "slice av fixlängd-array är inte implementerat" 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:2286 utils/adt/arrayfuncs.c:2410 +#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3026 #, 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:2291 #, 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:2891 #, 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:2922 #, 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:2923 #, 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:2941 utils/adt/arrayfuncs.c:3053 #, c-format msgid "source array too small" msgstr "käll-array för liten" -#: utils/adt/arrayfuncs.c:3637 +#: utils/adt/arrayfuncs.c:3693 #, 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:3864 utils/adt/arrayfuncs.c:4035 +#: utils/adt/arrayfuncs.c:4426 #, 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/arrayfuncs.c:4213 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 #, 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:4341 utils/adt/rowtypes.c:2006 #, 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:5536 #, 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:5591 #, c-format msgid "cannot accumulate null arrays" msgstr "kan inte ackumulera null-array:er" -#: utils/adt/arrayfuncs.c:5563 +#: utils/adt/arrayfuncs.c:5619 #, 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:6020 utils/adt/arrayfuncs.c:6060 #, 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:6123 utils/adt/arrayfuncs.c:6149 #, 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:6128 utils/adt/arrayfuncs.c:6154 #, c-format msgid "dimension values cannot be null" msgstr "dimensionsvärden kan inte vara null" -#: utils/adt/arrayfuncs.c:6104 +#: utils/adt/arrayfuncs.c:6160 #, 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:6438 #, 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:6715 #, 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:6720 #, 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:6953 #, 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 +23789,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:155 #, 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:257 #, 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:262 #, 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:267 #, c-format msgid "typmod array must not contain nulls" msgstr "typmod-arrayen får inte innehålla null-värden" @@ -23825,7 +23815,7 @@ 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/bool.c:153 utils/adt/cash.c:354 utils/adt/datetime.c:4028 #: 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/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 @@ -23833,40 +23823,44 @@ msgstr "kodningskonvertering från %s till ASCII stöds inte" #: 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/network.c:99 utils/adt/numeric.c:802 utils/adt/numeric.c:7151 +#: utils/adt/numeric.c:7354 utils/adt/numeric.c:8301 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/uuid.c:135 utils/adt/xid8funcs.c:362 #, 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: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:3190 utils/adt/numeric.c:3213 utils/adt/numeric.c:3298 +#: utils/adt/numeric.c:3316 utils/adt/numeric.c:3412 utils/adt/numeric.c:8850 +#: utils/adt/numeric.c:9163 utils/adt/numeric.c:9511 utils/adt/numeric.c:9627 +#: utils/adt/numeric.c:11138 utils/adt/timestamp.c:3442 #, 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: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 +#, 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" @@ -23901,7 +23895,7 @@ 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/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2512 #, c-format msgid "date out of range" msgstr "datum utanför giltigt intervall" @@ -23928,20 +23922,20 @@ 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: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 #, 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/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 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "enheten \"%s\" känns inte igen för typen %s" @@ -23954,22 +23948,26 @@ msgstr "enheten \"%s\" känns inte igen för typen %s" #: 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/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:2534 +#: utils/adt/xml.c:2541 utils/adt/xml.c:2561 utils/adt/xml.c:2568 #, c-format msgid "timestamp out of range" msgstr "timestamp utanför giltigt intervall" @@ -23986,9 +23984,9 @@ 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/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2594 +#: utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540 +#: utils/adt/timestamp.c:3571 #, c-format msgid "invalid preceding or following size in window function" msgstr "ogiltig föregående eller efterföljande storlek i fönsterfunktion" @@ -23998,43 +23996,43 @@ msgstr "ogiltig föregående eller efterföljande storlek i fönsterfunktion" 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:3111 utils/adt/timestamp.c:5598 utils/adt/timestamp.c:5828 #, 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:3234 utils/adt/datetime.c:4013 +#: utils/adt/datetime.c:4019 utils/adt/timestamp.c:512 #, 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:3987 utils/adt/datetime.c:3994 #, 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:3996 #, 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:4001 #, 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:4007 #, 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:4021 #, 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\"." -#: utils/adt/datum.c:90 utils/adt/datum.c:102 +#: utils/adt/datum.c:91 utils/adt/datum.c:103 #, c-format msgid "invalid Datum pointer" msgstr "ogiltigt Datum-pekare" @@ -24159,34 +24157,34 @@ 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/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:1293 utils/adt/numeric.c:4515 utils/adt/numeric.c:4520 #, 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:1453 utils/adt/numeric.c:3708 utils/adt/numeric.c:10042 #, 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:1521 utils/adt/numeric.c:3996 utils/adt/numeric.c:4108 #, 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:1525 utils/adt/numeric.c:4000 utils/adt/numeric.c:10933 #, 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:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3908 +#: utils/adt/numeric.c:10713 #, 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:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3846 +#: utils/adt/numeric.c:3903 utils/adt/numeric.c:10717 #, c-format msgid "cannot take logarithm of a negative number" msgstr "kan inte ta logaritmen av ett negativt tal" @@ -24205,22 +24203,22 @@ msgstr "indata är utanför giltigt intervall" 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:4095 utils/adt/numeric.c:1856 #, 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:4100 utils/adt/numeric.c:1867 #, 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:4106 utils/adt/numeric.c:1872 #, 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:4172 utils/adt/numeric.c:1886 #, c-format msgid "lower bound cannot equal upper bound" msgstr "lägre gräns kan inte vara samma som övre gräns" @@ -24575,8 +24573,8 @@ 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:1419 utils/adt/numeric.c:1764 +#: utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971 #, c-format msgid "step size cannot equal zero" msgstr "stegstorleken kan inte vara noll" @@ -24585,19 +24583,19 @@ msgstr "stegstorleken kan inte vara noll" #: 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/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:4474 #: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 #: 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:1376 #, c-format msgid "OID out of range" msgstr "OID utanför sitt intervall" @@ -24607,7 +24605,7 @@ msgstr "OID utanför sitt intervall" 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:1113 utils/adt/json.c:1123 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" @@ -25043,67 +25041,67 @@ msgstr "strängargument till jsonpaths elementmetod .%s() är inte en giltig rep 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" -#: utils/adt/jsonpath_exec.c:1584 +#: utils/adt/jsonpath_exec.c:1587 #, 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:1594 #, 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:1662 #, 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:1761 #, 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:1801 #, 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" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:1904 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "datetime-format känns inte igen: \"%s\"" -#: utils/adt/jsonpath_exec.c:1903 +#: utils/adt/jsonpath_exec.c:1906 #, 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:1974 #, 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:2156 #, 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:2420 #, 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:2432 #, 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:2609 #, 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:2611 #, c-format msgid "Use *_tz() function for time zone support." msgstr "ANvända *_tz()-funktioner som stöder tidszon." @@ -25349,107 +25347,107 @@ 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:792 utils/adt/numeric.c:3658 utils/adt/numeric.c:7146 +#: utils/adt/numeric.c:7349 utils/adt/numeric.c:7821 utils/adt/numeric.c:10516 +#: utils/adt/numeric.c:10991 utils/adt/numeric.c:11085 +#: utils/adt/numeric.c:11220 #, c-format msgid "value overflows numeric format" msgstr "overflow på värde i formatet numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1105 #, 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:1111 #, 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:1120 #, 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:1335 utils/adt/numeric.c:1349 #, 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:1340 #, 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:1358 #, c-format msgid "invalid NUMERIC type modifier" msgstr "ogiltig typmodifierare för NUMERIC" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1724 #, 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:1728 #, 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:1735 #, 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:1739 #, 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:1752 #, c-format msgid "step size cannot be NaN" msgstr "stegstorlek får inte vara NaN" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1756 #, 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:3648 #, 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:4381 utils/adt/numeric.c:4461 utils/adt/numeric.c:4502 +#: utils/adt/numeric.c:4698 #, c-format msgid "cannot convert NaN to %s" msgstr "kan inte konvertera NaN till %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:4385 utils/adt/numeric.c:4465 utils/adt/numeric.c:4506 +#: utils/adt/numeric.c:4702 #, c-format msgid "cannot convert infinity to %s" msgstr "kan inte konvertera oändlighet till %s" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4711 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn är utanför giltigt intervall" -#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#: utils/adt/numeric.c:7911 utils/adt/numeric.c:7962 #, c-format msgid "numeric field overflow" msgstr "overflow i numeric-fält" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7912 #, 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:7963 #, 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." @@ -25695,7 +25693,7 @@ msgstr "resultatet av range-union skulle inte vara angränsande" #: utils/adt/rangetypes.c:1750 #, 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 @@ -25730,7 +25728,7 @@ msgstr "Saknar vänster parentes eller hakparentes." #: utils/adt/rangetypes.c:2327 #, 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 #, c-format @@ -25760,7 +25758,7 @@ msgstr "Om du menade att använda regexp_replace() med en startstartparameter s #: 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:1872 utils/misc/guc.c:6627 utils/misc/guc.c:6661 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ogiltigt värde för parameter \"%s\": %d" @@ -25798,8 +25796,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:2009 utils/adt/ruleutils.c:10021 +#: utils/adt/ruleutils.c:10234 #, c-format msgid "too many arguments" msgstr "för många argument" @@ -25969,22 +25967,22 @@ msgstr "kan inte jämföra olika kolumntyper %s och %s vid postkolumn %d" 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:2679 #, 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:2691 #, 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:2698 #, c-format msgid "expression contains variables" msgstr "uttryck innehåller variabler" -#: utils/adt/ruleutils.c:5227 +#: utils/adt/ruleutils.c:5228 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "regel \"%s\" har en icke stödd händelsetyp %d" @@ -26030,6 +26028,23 @@ msgstr "timestamp kan inte vara NaN" msgid "timestamp out of range: \"%g\"" msgstr "timestamp utanför giltigt intervall: \"%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 +#, c-format +msgid "interval out of range" +msgstr "interval utanför giltigt intervall" + #: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 #, c-format msgid "invalid INTERVAL type modifier" @@ -26055,22 +26070,22 @@ msgstr "interval(%d)-precision måste vara mellan %d och %d" 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:4015 utils/adt/timestamp.c:4215 #, 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:4020 utils/adt/timestamp.c:4220 #, 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:4031 utils/adt/timestamp.c:4231 #, 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:4526 #, c-format msgid "Months usually have fractional weeks." msgstr "Månader har vanligtvis veckor som decimaltal." @@ -26105,32 +26120,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" @@ -26422,181 +26437,181 @@ msgstr "ogiltig Unicode-kodpunkt: %04X" 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:723 #, 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:126 #, 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:555 #, 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:628 #, 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:670 #, 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:966 utils/adt/xml.c:989 #, c-format msgid "invalid XML processing instruction" msgstr "ogiltig XML-processinstruktion" -#: utils/adt/xml.c:957 +#: utils/adt/xml.c:967 #, 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:990 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-processinstruktion kan inte innehålla \"?>\"." -#: utils/adt/xml.c:1059 +#: utils/adt/xml.c:1069 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate är inte implementerat" -#: utils/adt/xml.c:1115 +#: utils/adt/xml.c:1125 #, c-format msgid "could not initialize XML library" msgstr "kunde inte initiera XML-bibliotek" -#: utils/adt/xml.c:1116 +#: utils/adt/xml.c:1126 #, 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:1212 #, 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:1213 #, 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:2241 msgid "Invalid character value." msgstr "Ogiltigt teckenvärde." -#: utils/adt/xml.c:2192 +#: utils/adt/xml.c:2244 msgid "Space required." msgstr "Mellanslag krävs." -#: utils/adt/xml.c:2195 +#: utils/adt/xml.c:2247 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone tillåter bara 'yes' eller 'no'." -#: utils/adt/xml.c:2198 +#: utils/adt/xml.c:2250 msgid "Malformed declaration: missing version." msgstr "Felaktig deklaration: saknar version." -#: utils/adt/xml.c:2201 +#: utils/adt/xml.c:2253 msgid "Missing encoding in text declaration." msgstr "Saknar kodning i textdeklaration." -#: utils/adt/xml.c:2204 +#: utils/adt/xml.c:2256 msgid "Parsing XML declaration: '?>' expected." msgstr "Parsar XML-deklaration: förväntade sig '?>'" -#: utils/adt/xml.c:2207 +#: utils/adt/xml.c:2259 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Okänd libxml-felkod: %d." -#: utils/adt/xml.c:2461 +#: utils/adt/xml.c:2513 #, 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:2535 utils/adt/xml.c:2562 #, 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:2978 #, c-format msgid "invalid query" msgstr "ogiltig fråga" -#: utils/adt/xml.c:3018 +#: utils/adt/xml.c:3070 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "portalen \"%s\" returnerar inga tupler" -#: utils/adt/xml.c:4270 +#: utils/adt/xml.c:4322 #, c-format msgid "invalid array for XML namespace mapping" msgstr "ogiltig array till XML-namnrymdmappning" -#: utils/adt/xml.c:4271 +#: utils/adt/xml.c:4323 #, 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:4347 #, c-format msgid "empty XPath expression" msgstr "tomt XPath-uttryck" -#: utils/adt/xml.c:4347 +#: utils/adt/xml.c:4399 #, 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:4406 #, 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:4749 #, c-format msgid "DEFAULT namespace is not supported" msgstr "namnrymden DEFAULT stöds inte" -#: utils/adt/xml.c:4726 +#: utils/adt/xml.c:4778 #, 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:4809 #, 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:4953 #, c-format msgid "more than one value returned by column XPath expression" msgstr "mer än ett värde returnerades från kolumns XPath-uttryck" @@ -26657,22 +26672,22 @@ msgstr "Fortsätter ändå, trots att något är fel." msgid "could not remove cache file \"%s\": %m" msgstr "kunde inte ta bort cache-fil \"%s\": %m" -#: utils/cache/relmapper.c:596 +#: utils/cache/relmapper.c:597 #, c-format 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:853 #, 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:863 #, 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:1809 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "posttypen har inte registrerats" @@ -26692,97 +26707,97 @@ msgstr "TRAP: misslyckad Assert(\"%s\"), Fil: \"%s\", Rad: %d, PID: %d)\n" 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:2112 #, 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:2125 #, 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:2161 #, c-format 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:2867 utils/error/elog.c:2894 utils/error/elog.c:2910 msgid "[unknown]" msgstr "[okänd]" -#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 +#: utils/error/elog.c:3183 utils/error/elog.c:3504 utils/error/elog.c:3611 msgid "missing error text" msgstr "saknar feltext" -#: utils/error/elog.c:3166 utils/error/elog.c:3169 +#: utils/error/elog.c:3186 utils/error/elog.c:3189 #, c-format msgid " at character %d" msgstr " vid tecken %d" -#: utils/error/elog.c:3179 utils/error/elog.c:3186 +#: utils/error/elog.c:3199 utils/error/elog.c:3206 msgid "DETAIL: " msgstr "DETALJ: " -#: utils/error/elog.c:3193 +#: utils/error/elog.c:3213 msgid "HINT: " msgstr "TIPS: " -#: utils/error/elog.c:3200 +#: utils/error/elog.c:3220 msgid "QUERY: " msgstr "FRÅGA: " -#: utils/error/elog.c:3207 +#: utils/error/elog.c:3227 msgid "CONTEXT: " msgstr "KONTEXT: " -#: utils/error/elog.c:3217 +#: utils/error/elog.c:3237 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "PLATS: %s, %s:%d\n" -#: utils/error/elog.c:3224 +#: utils/error/elog.c:3244 #, c-format msgid "LOCATION: %s:%d\n" msgstr "PLATS: %s:%d\n" -#: utils/error/elog.c:3231 +#: utils/error/elog.c:3251 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3243 +#: utils/error/elog.c:3263 msgid "STATEMENT: " msgstr "SATS: " -#: utils/error/elog.c:3636 +#: utils/error/elog.c:3656 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3660 msgid "LOG" msgstr "LOGG" -#: utils/error/elog.c:3643 +#: utils/error/elog.c:3663 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3646 +#: utils/error/elog.c:3666 msgid "NOTICE" msgstr "NOTIS" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3670 msgid "WARNING" msgstr "VARNING" -#: utils/error/elog.c:3653 +#: utils/error/elog.c:3673 msgid "ERROR" msgstr "FEL" -#: utils/error/elog.c:3656 +#: utils/error/elog.c:3676 msgid "FATAL" msgstr "FATALT" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3679 msgid "PANIC" msgstr "PANIK" @@ -26905,213 +26920,213 @@ msgstr "info om operatorklassflaggor saknas i funktionens anropskontext" 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 +#: utils/fmgr/funcapi.c:725 #, 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:346 #, c-format msgid "data directory \"%s\" does not exist" msgstr "databaskatalogen \"%s\" existerar inte" -#: utils/init/miscinit.c:352 +#: utils/init/miscinit.c:351 #, 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:359 #, 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:375 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "datakatalogen \"%s\" har fel ägare" -#: utils/init/miscinit.c:378 +#: utils/init/miscinit.c:377 #, 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:395 #, 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:397 #, 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:455 #, 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:692 utils/misc/guc.c:3557 #, 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:764 #, 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:794 #, 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:812 #, c-format msgid "too many connections for role \"%s\"" msgstr "för många uppkopplingar för roll \"%s\"" -#: utils/init/miscinit.c:912 +#: utils/init/miscinit.c:919 #, 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:1002 #, c-format msgid "invalid role OID: %u" msgstr "ogiltigt roll-OID: %u" -#: utils/init/miscinit.c:1142 +#: utils/init/miscinit.c:1149 #, c-format msgid "database system is shut down" msgstr "databassystemet är nedstängt" -#: utils/init/miscinit.c:1229 +#: utils/init/miscinit.c:1236 #, 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:1250 #, 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:1257 #, 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:1266 #, c-format msgid "lock file \"%s\" is empty" msgstr "låsfilen \"%s\" är tom" -#: utils/init/miscinit.c:1260 +#: utils/init/miscinit.c:1267 #, 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:1311 #, 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:1315 #, 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:1317 #, 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:1320 #, 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:1322 #, 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:1373 #, 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:1375 #, 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:1412 utils/init/miscinit.c:1426 +#: utils/init/miscinit.c:1437 #, 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:1548 utils/init/miscinit.c:1690 utils/misc/guc.c:5597 #, 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:1678 #, 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:1703 #, 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:1742 utils/init/miscinit.c:1758 #, 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:1744 #, c-format msgid "File \"%s\" is missing." msgstr "Filen \"%s\" saknas." -#: utils/init/miscinit.c:1753 +#: utils/init/miscinit.c:1760 #, 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:1762 #, 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:1770 #, 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." @@ -27241,7 +27256,7 @@ msgstr "Du borde direkt köra CREATE USER \"%s\" SUPERUSER;." #: utils/init/postinit.c:928 #, 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 #, c-format @@ -27310,11 +27325,6 @@ msgstr "oväntat kodnings-ID %d för WIN-teckenuppsättningarna" 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 #, c-format @@ -27379,9 +27389,9 @@ msgstr "Giltiga enheter för denna parameter är \"us\", \"ms\", \"s\", \"min\", 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: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 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "parameter \"%s\" kan inte ändras utan att starta om servern" @@ -27431,17 +27441,17 @@ msgstr "\"%s\" är ett reserverat prefix." msgid "unrecognized configuration parameter \"%s\"" msgstr "okänd konfigurationsparameter \"%s\"" -#: utils/misc/guc.c:1765 +#: utils/misc/guc.c:1767 #, c-format msgid "%s: could not access directory \"%s\": %s\n" msgstr "%s: kunde inte komma åt katalogen \"%s\": %s\n" -#: utils/misc/guc.c:1770 +#: utils/misc/guc.c:1772 #, 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:1796 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -27450,12 +27460,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:1819 #, 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" -#: utils/misc/guc.c:1845 +#: utils/misc/guc.c:1847 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -27464,7 +27474,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:1899 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -27473,7 +27483,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:1930 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -27482,117 +27492,117 @@ 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:2896 msgid "Value exceeds integer range." msgstr "Värde överskriver heltalsintervall." -#: utils/misc/guc.c:3130 +#: utils/misc/guc.c:3132 #, 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)" -#: utils/misc/guc.c:3166 +#: utils/misc/guc.c:3168 #, 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)" -#: utils/misc/guc.c:3366 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3369 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.c:3383 utils/misc/guc.c:4530 +#: utils/misc/guc.c:3388 utils/misc/guc.c:4539 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "parameter \"%s\" kan inte ändras" -#: utils/misc/guc.c:3416 +#: utils/misc/guc.c:3421 #, 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:3448 utils/misc/guc.c:3510 utils/misc/guc.c:4515 +#: utils/misc/guc.c:6563 #, 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:3490 #, 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:3549 #, 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:3570 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "parametern \"%s\" kunde inte återställas" -#: utils/misc/guc.c:3568 +#: utils/misc/guc.c:3577 #, 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:4221 utils/misc/guc.c:4268 utils/misc/guc.c:5282 #, 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:4222 utils/misc/guc.c:4269 utils/misc/guc.c:5283 #, 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:4505 #, 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:4571 #, 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:4617 #, 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:4799 #, 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:5138 #, 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:5140 #, 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:6017 #, 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:6186 #, 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:6276 #, 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:6695 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ogiltigt värde för parameter \"%s\": %g" @@ -29585,8 +29595,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:51 utils/misc/pg_controldata.c:91 +#: utils/misc/pg_controldata.c:182 utils/misc/pg_controldata.c:223 #, 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" @@ -29681,7 +29691,7 @@ msgstr "@INCLUDE utan filnamn i tidszonfil \"%s\", rad %d" 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:532 utils/mmgr/dsa.c:1350 #, c-format msgid "could not attach to dynamic shared area" msgstr "kunde inte ansluta till dynamisk delad area" @@ -29827,491 +29837,3 @@ msgstr "en serialiserbar transaktion som inte är read-only kan inte importera e #, 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/postmaster/checkpointer.c b/src/backend/postmaster/checkpointer.c index ace9893d957..f482f6423d1 100644 --- a/src/backend/postmaster/checkpointer.c +++ b/src/backend/postmaster/checkpointer.c @@ -1171,6 +1171,10 @@ CompactCheckpointerRequestQueue(void) /* must hold CheckpointerCommLock in exclusive mode */ Assert(LWLockHeldByMe(CheckpointerCommLock)); + /* Avoid memory allocations in a critical section. */ + if (CritSectionCount > 0) + return false; + /* Initialize skip_slot array */ skip_slot = palloc0(sizeof(bool) * CheckpointerShmem->num_requests); diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index 41243d0187a..6894d3acbc4 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -151,6 +151,7 @@ StartupDecodingContext(List *output_plugin_options, TransactionId xmin_horizon, bool need_full_snapshot, bool fast_forward, + bool in_create, XLogReaderRoutine *xl_routine, LogicalOutputPluginWriterPrepareWrite prepare_write, LogicalOutputPluginWriterWrite do_write, @@ -296,6 +297,8 @@ StartupDecodingContext(List *output_plugin_options, ctx->fast_forward = fast_forward; + ctx->in_create = in_create; + MemoryContextSwitchTo(old_context); return ctx; @@ -437,7 +440,7 @@ CreateInitDecodingContext(const char *plugin, ReplicationSlotSave(); ctx = StartupDecodingContext(NIL, restart_lsn, xmin_horizon, - need_full_snapshot, false, + need_full_snapshot, false, true, xl_routine, prepare_write, do_write, update_progress); @@ -573,7 +576,7 @@ CreateDecodingContext(XLogRecPtr start_lsn, ctx = StartupDecodingContext(output_plugin_options, start_lsn, InvalidTransactionId, false, - fast_forward, xl_routine, prepare_write, + fast_forward, false, xl_routine, prepare_write, do_write, update_progress); /* call output plugin initialization callback */ diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index 7a7aba33e16..3ed2f79dd06 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -1314,6 +1314,8 @@ SnapBuildProcessRunningXacts(SnapBuild *builder, XLogRecPtr lsn, xl_running_xact static bool SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *running) { + LogicalDecodingContext *ctx = (LogicalDecodingContext *) builder->reorder->private_data; + /* --- * Build catalog decoding snapshot incrementally using information about * the currently running transactions. There are several ways to do that: @@ -1323,10 +1325,12 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn * state while waiting on c)'s sub-states. * * b) This (in a previous run) or another decoding slot serialized a - * snapshot to disk that we can use. Can't use this method for the - * initial snapshot when slot is being created and needs full snapshot - * for export or direct use, as that snapshot will only contain catalog - * modifying transactions. + * snapshot to disk that we can use. Can't use this method while finding + * the start point for decoding changes as the restart LSN would be an + * arbitrary LSN but we need to find the start point to extract changes + * where we won't see the data for partial transactions. Also, we cannot + * use this method when a slot needs a full snapshot for export or direct + * use, as that snapshot will only contain catalog modifying transactions. * * c) First incrementally build a snapshot for catalog tuples * (BUILDING_SNAPSHOT), that requires all, already in-progress, @@ -1391,8 +1395,13 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn return false; } - /* b) valid on disk state and not building full snapshot */ + + /* + * b) valid on disk state and while neither building full snapshot nor + * creating a slot. + */ else if (!builder->building_full_snapshot && + !ctx->in_create && SnapBuildRestore(builder, lsn)) { /* there won't be any state to cleanup */ diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index 05688cd41ce..c57c5ed8de9 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -1549,6 +1549,16 @@ pgoutput_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, ancestor = NULL; } + /* Drop the new slots that were used to store the converted tuples. */ + if (relentry->attrmap) + { + if (old_slot) + ExecDropSingleTupleTableSlot(old_slot); + + if (new_slot) + ExecDropSingleTupleTableSlot(new_slot); + } + MemoryContextSwitchTo(old); MemoryContextReset(data->context); } diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index 2510ce79c6e..9cd96fd17ef 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -41,6 +41,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" @@ -1740,6 +1741,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) { /* @@ -2963,7 +2972,7 @@ relation_is_updatable(Oid reloid, * * This is used with simply-updatable views to map column-permissions sets for * the view columns onto the matching columns in the underlying base relation. - * The targetlist is expected to be a list of plain Vars of the underlying + * Relevant entries in the targetlist must be plain Vars of the underlying * relation (as per the checks above in view_query_is_auto_updatable). */ static Bitmapset * @@ -3063,6 +3072,10 @@ rewriteTargetView(Query *parsetree, Relation view) */ viewquery = copyObject(get_view_query(view)); + /* Locate RTE and perminfo describing the view in the outer query */ + view_rte = rt_fetch(parsetree->resultRelation, parsetree->rtable); + view_perminfo = getRTEPermissionInfo(parsetree->rteperminfos, view_rte); + /* The view must be updatable, else fail */ auto_update_detail = view_query_is_auto_updatable(viewquery, @@ -3104,18 +3117,35 @@ 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)))); + /* - * For INSERT/UPDATE the modified columns must all be updatable. Note that - * we get the modified columns from the query's targetlist, not from the - * result RTE's insertedCols and/or updatedCols set, since - * rewriteTargetListIU may have added additional targetlist entries for - * view defaults, and these must also be updatable. + * For INSERT/UPDATE the modified columns must all be updatable. */ if (parsetree->commandType != CMD_DELETE) { - Bitmapset *modified_cols = NULL; + Bitmapset *modified_cols; char *non_updatable_col; + /* + * Compute the set of modified columns as those listed in the result + * RTE's insertedCols and/or updatedCols sets plus those that are + * targets of the query's targetlist(s). We must consider the query's + * targetlist because rewriteTargetListIU may have added additional + * targetlist entries for view defaults, and these must also be + * updatable. But rewriteTargetListIU can also remove entries if they + * are DEFAULT markers and the column's default is NULL, so + * considering only the targetlist would also be wrong. + */ + modified_cols = bms_union(view_perminfo->insertedCols, + view_perminfo->updatedCols); + foreach(lc, parsetree->targetList) { TargetEntry *tle = (TargetEntry *) lfirst(lc); @@ -3173,9 +3203,6 @@ rewriteTargetView(Query *parsetree, Relation view) } } - /* Locate RTE describing the view in the outer query */ - view_rte = rt_fetch(parsetree->resultRelation, parsetree->rtable); - /* * If we get here, view_query_is_auto_updatable() has verified that the * view contains a single base relation. @@ -3270,10 +3297,7 @@ rewriteTargetView(Query *parsetree, Relation view) * Note: the original view's RTEPermissionInfo remains in the query's * rteperminfos so that the executor still performs appropriate * permissions checks for the query caller's use of the view. - */ - view_perminfo = getRTEPermissionInfo(parsetree->rteperminfos, view_rte); - - /* + * * Disregard the perminfo in viewquery->rteperminfos that the base_rte * would currently be pointing at, because we'd like it to point now to a * new one that will be filled below. Must set perminfoindex to 0 to not diff --git a/src/backend/storage/ipc/latch.c b/src/backend/storage/ipc/latch.c index 767328039e3..e572677c703 100644 --- a/src/backend/storage/ipc/latch.c +++ b/src/backend/storage/ipc/latch.c @@ -1967,6 +1967,38 @@ WaitEventSetWaitBlock(WaitEventSet *set, int cur_timeout, cur_event->reset = false; } + /* + * We associate the socket with a new event handle for each + * WaitEventSet. FD_CLOSE is only generated once if the other end + * closes gracefully. Therefore we might miss the FD_CLOSE + * notification, if it was delivered to another event after we stopped + * waiting for it. Close that race by peeking for EOF after setting + * up this handle to receive notifications, and before entering the + * sleep. + * + * XXX If we had one event handle for the lifetime of a socket, we + * wouldn't need this. + */ + if (cur_event->events & WL_SOCKET_READABLE) + { + char c; + WSABUF buf; + DWORD received; + DWORD flags; + + buf.buf = &c; + buf.len = 1; + flags = MSG_PEEK; + if (WSARecv(cur_event->fd, &buf, 1, &received, &flags, NULL, NULL) == 0) + { + occurred_events->pos = cur_event->pos; + occurred_events->user_data = cur_event->user_data; + occurred_events->events = WL_SOCKET_READABLE; + occurred_events->fd = cur_event->fd; + return 1; + } + } + /* * Windows does not guarantee to log an FD_WRITE network event * indicating that more data can be sent unless the previous send() diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index e6303023512..316b4fa7197 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -1097,7 +1097,7 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) * If the snapshot isn't overflowed or if its empty we can reset our * pending state and use this snapshot instead. */ - if (!running->subxid_overflow || running->xcnt == 0) + if (running->subxid_status != SUBXIDS_MISSING || running->xcnt == 0) { /* * If we have already collected known assigned xids, we need to @@ -1249,7 +1249,7 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) * missing, so conservatively assume the last one is latestObservedXid. * ---------- */ - if (running->subxid_overflow) + if (running->subxid_status == SUBXIDS_MISSING) { standbyState = STANDBY_SNAPSHOT_PENDING; @@ -1261,6 +1261,18 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) standbyState = STANDBY_SNAPSHOT_READY; standbySnapshotPendingXmin = InvalidTransactionId; + + /* + * If the 'xids' array didn't include all subtransactions, we have to + * mark any snapshots taken as overflowed. + */ + if (running->subxid_status == SUBXIDS_IN_SUBTRANS) + procArray->lastOverflowedXid = latestObservedXid; + else + { + Assert(running->subxid_status == SUBXIDS_IN_ARRAY); + procArray->lastOverflowedXid = InvalidTransactionId; + } } /* @@ -2842,7 +2854,7 @@ GetRunningTransactionData(void) CurrentRunningXacts->xcnt = count - subcount; CurrentRunningXacts->subxcnt = subcount; - CurrentRunningXacts->subxid_overflow = suboverflowed; + CurrentRunningXacts->subxid_status = suboverflowed ? SUBXIDS_IN_SUBTRANS : SUBXIDS_IN_ARRAY; CurrentRunningXacts->nextXid = XidFromFullTransactionId(ShmemVariableCache->nextXid); CurrentRunningXacts->oldestRunningXid = oldestRunningXid; CurrentRunningXacts->latestCompletedXid = latestCompletedXid; @@ -3758,8 +3770,8 @@ CountOtherDBBackends(Oid databaseId, int *nbackends, int *nprepared) * The current backend is always ignored; it is caller's responsibility to * check whether the current backend uses the given DB, if it's important. * - * It doesn't allow to terminate the connections even if there is a one - * backend with the prepared transaction in the target database. + * If the target database has a prepared transaction or permissions checks + * fail for a connection, this fails without terminating anything. */ void TerminateOtherDBBackends(Oid databaseId) @@ -3804,14 +3816,19 @@ TerminateOtherDBBackends(Oid databaseId) ListCell *lc; /* - * Check whether we have the necessary rights to terminate other - * sessions. We don't terminate any session until we ensure that we - * have rights on all the sessions to be terminated. These checks are - * the same as we do in pg_terminate_backend. + * Permissions checks relax the pg_terminate_backend checks in two + * ways, both by omitting the !OidIsValid(proc->roleId) check: + * + * - Accept terminating autovacuum workers, since DROP DATABASE + * without FORCE terminates them. + * + * - Accept terminating bgworkers. For bgworker authors, it's + * convenient to be able to recommend FORCE if a worker is blocking + * DROP DATABASE unexpectedly. * - * In this case we don't raise some warnings - like "PID %d is not a - * PostgreSQL server process", because for us already finished session - * is not a problem. + * Unlike pg_terminate_backend, we don't raise some warnings - like + * "PID %d is not a PostgreSQL server process", because for us already + * finished session is not a problem. */ foreach(lc, pids) { @@ -3820,7 +3837,6 @@ TerminateOtherDBBackends(Oid databaseId) if (proc != NULL) { - /* Only allow superusers to signal superuser-owned backends. */ if (superuser_arg(proc->roleId) && !superuser()) ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), @@ -3828,7 +3844,6 @@ TerminateOtherDBBackends(Oid databaseId) errdetail("Only roles with the %s attribute may terminate processes of roles with the %s attribute.", "SUPERUSER", "SUPERUSER"))); - /* Users can signal backends they have role membership in. */ if (!has_privs_of_role(GetUserId(), proc->roleId) && !has_privs_of_role(GetUserId(), ROLE_PG_SIGNAL_BACKEND)) ereport(ERROR, diff --git a/src/backend/storage/ipc/sinval.c b/src/backend/storage/ipc/sinval.c index b405f08313a..e19659a6ce5 100644 --- a/src/backend/storage/ipc/sinval.c +++ b/src/backend/storage/ipc/sinval.c @@ -17,6 +17,7 @@ #include "access/xact.h" #include "commands/async.h" #include "miscadmin.h" +#include "nodes/memnodes.h" #include "storage/ipc.h" #include "storage/proc.h" #include "storage/sinvaladt.h" @@ -184,6 +185,7 @@ ProcessCatchupInterrupt(void) * can just call AcceptInvalidationMessages() to do this. If we * aren't, we start and immediately end a transaction; the call to * AcceptInvalidationMessages() happens down inside transaction start. + * Be sure to preserve caller's memory context when we do that. * * It is awfully tempting to just call AcceptInvalidationMessages() * without the rest of the xact start/stop overhead, and I think that @@ -197,9 +199,14 @@ ProcessCatchupInterrupt(void) } else { + MemoryContext oldcontext = CurrentMemoryContext; + elog(DEBUG4, "ProcessCatchupEvent outside transaction"); StartTransactionCommand(); CommitTransactionCommand(); + /* Caller's context had better not have been transaction-local */ + Assert(MemoryContextIsValid(oldcontext)); + MemoryContextSwitchTo(oldcontext); } } } diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 4c06741a69f..3bdc5f7fb6c 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -1186,7 +1186,7 @@ standby_redo(XLogReaderState *record) running.xcnt = xlrec->xcnt; running.subxcnt = xlrec->subxcnt; - running.subxid_overflow = xlrec->subxid_overflow; + running.subxid_status = xlrec->subxid_overflow ? SUBXIDS_MISSING : SUBXIDS_IN_ARRAY; running.nextXid = xlrec->nextXid; running.latestCompletedXid = xlrec->latestCompletedXid; running.oldestRunningXid = xlrec->oldestRunningXid; @@ -1351,7 +1351,7 @@ LogCurrentRunningXacts(RunningTransactions CurrRunningXacts) xlrec.xcnt = CurrRunningXacts->xcnt; xlrec.subxcnt = CurrRunningXacts->subxcnt; - xlrec.subxid_overflow = CurrRunningXacts->subxid_overflow; + xlrec.subxid_overflow = (CurrRunningXacts->subxid_status != SUBXIDS_IN_ARRAY); xlrec.nextXid = CurrRunningXacts->nextXid; xlrec.oldestRunningXid = CurrRunningXacts->oldestRunningXid; xlrec.latestCompletedXid = CurrRunningXacts->latestCompletedXid; @@ -1368,7 +1368,7 @@ LogCurrentRunningXacts(RunningTransactions CurrRunningXacts) recptr = XLogInsert(RM_STANDBY_ID, XLOG_RUNNING_XACTS); - if (CurrRunningXacts->subxid_overflow) + if (xlrec.subxid_overflow) elog(trace_recovery(DEBUG2), "snapshot of %d running transactions overflowed (lsn %X/%X oldest xid %u latest complete %u next xid %u)", CurrRunningXacts->xcnt, diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c index 2da91eb492d..1f87b127541 100644 --- a/src/backend/storage/lmgr/lmgr.c +++ b/src/backend/storage/lmgr/lmgr.c @@ -336,32 +336,26 @@ CheckRelationLockedByMe(Relation relation, LOCKMODE lockmode, bool orstronger) relation->rd_lockInfo.lockRelId.dbId, relation->rd_lockInfo.lockRelId.relId); - if (LockHeldByMe(&tag, lockmode)) - return true; + return (orstronger ? + LockOrStrongerHeldByMe(&tag, lockmode) : + LockHeldByMe(&tag, lockmode)); +} - if (orstronger) - { - LOCKMODE slockmode; +/* + * CheckRelationOidLockedByMe + * + * Like the above, but takes an OID as argument. + */ +bool +CheckRelationOidLockedByMe(Oid relid, LOCKMODE lockmode, bool orstronger) +{ + LOCKTAG tag; - for (slockmode = lockmode + 1; - slockmode <= MaxLockMode; - slockmode++) - { - if (LockHeldByMe(&tag, slockmode)) - { -#ifdef NOT_USED - /* Sometimes this might be useful for debugging purposes */ - elog(WARNING, "lock mode %s substituted for %s on relation %s", - GetLockmodeName(tag.locktag_lockmethodid, slockmode), - GetLockmodeName(tag.locktag_lockmethodid, lockmode), - RelationGetRelationName(relation)); -#endif - return true; - } - } - } + SetLocktagRelationOid(&tag, relid); - return false; + return (orstronger ? + LockOrStrongerHeldByMe(&tag, lockmode) : + LockHeldByMe(&tag, lockmode)); } /* diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index ec6240fbaee..ba66e820d06 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -579,11 +579,17 @@ DoLockModesConflict(LOCKMODE mode1, LOCKMODE mode2) } /* - * LockHeldByMe -- test whether lock 'locktag' is held with mode 'lockmode' - * by the current transaction + * LockHeldByMeExtended -- test whether lock 'locktag' is held by the current + * transaction + * + * Returns true if current transaction holds a lock on 'tag' of mode + * 'lockmode'. If 'orstronger' is true, a stronger lockmode is also OK. + * ("Stronger" is defined as "numerically higher", which is a bit + * semantically dubious but is OK for the purposes we use this for.) */ -bool -LockHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode) +static bool +LockHeldByMeExtended(const LOCKTAG *locktag, + LOCKMODE lockmode, bool orstronger) { LOCALLOCKTAG localtag; LOCALLOCK *locallock; @@ -599,7 +605,35 @@ LockHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode) &localtag, HASH_FIND, NULL); - return (locallock && locallock->nLocks > 0); + if (locallock && locallock->nLocks > 0) + return true; + + if (orstronger) + { + LOCKMODE slockmode; + + for (slockmode = lockmode + 1; + slockmode <= MaxLockMode; + slockmode++) + { + if (LockHeldByMeExtended(locktag, slockmode, false)) + return true; + } + } + + return false; +} + +bool +LockHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode) +{ + return LockHeldByMeExtended(locktag, lockmode, false); +} + +bool +LockOrStrongerHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode) +{ + return LockHeldByMeExtended(locktag, lockmode, true); } #ifdef USE_ASSERT_CHECKING diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 36cc99ec9cf..e7d486ca2fc 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -77,6 +77,7 @@ #include "utils/snapmgr.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/varlena.h" /* ---------------- * global variables @@ -101,6 +102,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 * ---------------- @@ -3628,6 +3632,66 @@ check_log_stats(bool *newval, void **extra, GucSource source) return true; } +/* + * 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_replslot.c b/src/backend/utils/activity/pgstat_replslot.c index f08abad4945..8685e233023 100644 --- a/src/backend/utils/activity/pgstat_replslot.c +++ b/src/backend/utils/activity/pgstat_replslot.c @@ -153,8 +153,9 @@ pgstat_acquire_replslot(ReplicationSlot *slot) void pgstat_drop_replslot(ReplicationSlot *slot) { - pgstat_drop_entry(PGSTAT_KIND_REPLSLOT, InvalidOid, - ReplicationSlotIndex(slot)); + if (!pgstat_drop_entry(PGSTAT_KIND_REPLSLOT, InvalidOid, + ReplicationSlotIndex(slot))) + pgstat_request_entry_refs_gc(); } /* diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c index d1149adf702..64121cb76cd 100644 --- a/src/backend/utils/activity/pgstat_shmem.c +++ b/src/backend/utils/activity/pgstat_shmem.c @@ -245,6 +245,14 @@ pgstat_detach_shmem(void) pgStatLocal.shared_hash = NULL; dsa_detach(pgStatLocal.dsa); + + /* + * dsa_detach() does not decrement the DSA reference count as no segment + * was provided to dsa_attach_in_place(), causing no cleanup callbacks to + * be registered. Hence, release it manually now. + */ + dsa_release_in_place(pgStatLocal.shmem->raw_dsa_area); + pgStatLocal.dsa = NULL; } @@ -784,7 +792,11 @@ pgstat_drop_entry_internal(PgStatShared_HashEntry *shent, * backends to release their references. */ if (shent->dropped) - elog(ERROR, "can only drop stats once"); + elog(ERROR, + "trying to drop stats entry already dropped: kind=%s dboid=%u objoid=%u refcount=%u", + pgstat_get_kind_info(shent->key.kind)->name, + shent->key.dboid, shent->key.objoid, + pg_atomic_read_u32(&shent->refcount)); shent->dropped = true; /* release refcount marking entry as not dropped */ @@ -854,6 +866,17 @@ pgstat_drop_database_and_contents(Oid dboid) pgstat_request_entry_refs_gc(); } +/* + * Drop a single stats entry. + * + * This routine returns false if the stats entry of the dropped object could + * not be freed, true otherwise. + * + * The callers of this function should call pgstat_request_entry_refs_gc() + * if the stats entry could not be freed, to ensure that this entry's memory + * can be reclaimed later by a different backend calling + * pgstat_gc_entry_refs(). + */ bool pgstat_drop_entry(PgStat_Kind kind, Oid dboid, Oid objoid) { diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c index c5336940dab..57c12df0f73 100644 --- a/src/backend/utils/adt/arrayfuncs.c +++ b/src/backend/utils/adt/arrayfuncs.c @@ -2923,7 +2923,14 @@ array_set_slice(Datum arraydatum, errdetail("When assigning to a slice of an empty array value," " slice boundaries must be fully specified."))); - dim[i] = 1 + upperIndx[i] - lowerIndx[i]; + /* compute "upperIndx[i] - lowerIndx[i] + 1", detecting overflow */ + if (pg_sub_s32_overflow(upperIndx[i], lowerIndx[i], &dim[i]) || + pg_add_s32_overflow(dim[i], 1, &dim[i])) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("array size exceeds the maximum allowed (%d)", + (int) MaxArraySize))); + lb[i] = lowerIndx[i]; } diff --git a/src/backend/utils/adt/cash.c b/src/backend/utils/adt/cash.c index 32fbad2f57d..b20c358486d 100644 --- a/src/backend/utils/adt/cash.c +++ b/src/backend/utils/adt/cash.c @@ -26,6 +26,7 @@ #include "libpq/pqformat.h" #include "utils/builtins.h" #include "utils/cash.h" +#include "utils/float.h" #include "utils/numeric.h" #include "utils/pg_locale.h" @@ -86,6 +87,82 @@ num_word(Cash value) return buf; } /* num_word() */ +static inline Cash +cash_pl_cash(Cash c1, Cash c2) +{ + Cash res; + + if (unlikely(pg_add_s64_overflow(c1, c2, &res))) + ereport(ERROR, + (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), + errmsg("money out of range"))); + + return res; +} + +static inline Cash +cash_mi_cash(Cash c1, Cash c2) +{ + Cash res; + + if (unlikely(pg_sub_s64_overflow(c1, c2, &res))) + ereport(ERROR, + (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), + errmsg("money out of range"))); + + return res; +} + +static inline Cash +cash_mul_float8(Cash c, float8 f) +{ + float8 res = rint(float8_mul((float8) c, f)); + + if (unlikely(isnan(res) || !FLOAT8_FITS_IN_INT64(res))) + ereport(ERROR, + (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), + errmsg("money out of range"))); + + return (Cash) res; +} + +static inline Cash +cash_div_float8(Cash c, float8 f) +{ + float8 res = rint(float8_div((float8) c, f)); + + if (unlikely(isnan(res) || !FLOAT8_FITS_IN_INT64(res))) + ereport(ERROR, + (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), + errmsg("money out of range"))); + + return (Cash) res; +} + +static inline Cash +cash_mul_int64(Cash c, int64 i) +{ + Cash res; + + if (unlikely(pg_mul_s64_overflow(c, i, &res))) + ereport(ERROR, + (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), + errmsg("money out of range"))); + + return res; +} + +static inline Cash +cash_div_int64(Cash c, int64 i) +{ + if (unlikely(i == 0)) + ereport(ERROR, + (errcode(ERRCODE_DIVISION_BY_ZERO), + errmsg("division by zero"))); + + return c / i; +} + /* cash_in() * Convert a string to a cash data type. * Format is [$]###[,]###[.##] @@ -612,11 +689,8 @@ cash_pl(PG_FUNCTION_ARGS) { Cash c1 = PG_GETARG_CASH(0); Cash c2 = PG_GETARG_CASH(1); - Cash result; - - result = c1 + c2; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_pl_cash(c1, c2)); } @@ -628,11 +702,8 @@ cash_mi(PG_FUNCTION_ARGS) { Cash c1 = PG_GETARG_CASH(0); Cash c2 = PG_GETARG_CASH(1); - Cash result; - - result = c1 - c2; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mi_cash(c1, c2)); } @@ -664,10 +735,8 @@ cash_mul_flt8(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); float8 f = PG_GETARG_FLOAT8(1); - Cash result; - result = rint(c * f); - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_float8(c, f)); } @@ -679,10 +748,8 @@ flt8_mul_cash(PG_FUNCTION_ARGS) { float8 f = PG_GETARG_FLOAT8(0); Cash c = PG_GETARG_CASH(1); - Cash result; - result = rint(f * c); - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_float8(c, f)); } @@ -694,15 +761,8 @@ cash_div_flt8(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); float8 f = PG_GETARG_FLOAT8(1); - Cash result; - if (f == 0.0) - ereport(ERROR, - (errcode(ERRCODE_DIVISION_BY_ZERO), - errmsg("division by zero"))); - - result = rint(c / f); - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_div_float8(c, f)); } @@ -714,10 +774,8 @@ cash_mul_flt4(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); float4 f = PG_GETARG_FLOAT4(1); - Cash result; - result = rint(c * (float8) f); - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_float8(c, (float8) f)); } @@ -729,10 +787,8 @@ flt4_mul_cash(PG_FUNCTION_ARGS) { float4 f = PG_GETARG_FLOAT4(0); Cash c = PG_GETARG_CASH(1); - Cash result; - result = rint((float8) f * c); - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_float8(c, (float8) f)); } @@ -745,15 +801,8 @@ cash_div_flt4(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); float4 f = PG_GETARG_FLOAT4(1); - Cash result; - - if (f == 0.0) - ereport(ERROR, - (errcode(ERRCODE_DIVISION_BY_ZERO), - errmsg("division by zero"))); - result = rint(c / (float8) f); - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_div_float8(c, (float8) f)); } @@ -765,10 +814,8 @@ cash_mul_int8(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); int64 i = PG_GETARG_INT64(1); - Cash result; - result = c * i; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_int64(c, i)); } @@ -780,10 +827,8 @@ int8_mul_cash(PG_FUNCTION_ARGS) { int64 i = PG_GETARG_INT64(0); Cash c = PG_GETARG_CASH(1); - Cash result; - result = i * c; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_int64(c, i)); } /* cash_div_int8() @@ -794,16 +839,8 @@ cash_div_int8(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); int64 i = PG_GETARG_INT64(1); - Cash result; - - if (i == 0) - ereport(ERROR, - (errcode(ERRCODE_DIVISION_BY_ZERO), - errmsg("division by zero"))); - result = c / i; - - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_div_int64(c, i)); } @@ -815,10 +852,8 @@ cash_mul_int4(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); int32 i = PG_GETARG_INT32(1); - Cash result; - result = c * i; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_int64(c, (int64) i)); } @@ -830,10 +865,8 @@ int4_mul_cash(PG_FUNCTION_ARGS) { int32 i = PG_GETARG_INT32(0); Cash c = PG_GETARG_CASH(1); - Cash result; - result = i * c; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_int64(c, (int64) i)); } @@ -846,16 +879,8 @@ cash_div_int4(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); int32 i = PG_GETARG_INT32(1); - Cash result; - - if (i == 0) - ereport(ERROR, - (errcode(ERRCODE_DIVISION_BY_ZERO), - errmsg("division by zero"))); - - result = c / i; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_div_int64(c, (int64) i)); } @@ -867,10 +892,8 @@ cash_mul_int2(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); int16 s = PG_GETARG_INT16(1); - Cash result; - result = c * s; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_int64(c, (int64) s)); } /* int2_mul_cash() @@ -881,10 +904,8 @@ int2_mul_cash(PG_FUNCTION_ARGS) { int16 s = PG_GETARG_INT16(0); Cash c = PG_GETARG_CASH(1); - Cash result; - result = s * c; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_mul_int64(c, (int64) s)); } /* cash_div_int2() @@ -896,15 +917,8 @@ cash_div_int2(PG_FUNCTION_ARGS) { Cash c = PG_GETARG_CASH(0); int16 s = PG_GETARG_INT16(1); - Cash result; - if (s == 0) - ereport(ERROR, - (errcode(ERRCODE_DIVISION_BY_ZERO), - errmsg("division by zero"))); - - result = c / s; - PG_RETURN_CASH(result); + PG_RETURN_CASH(cash_div_int64(c, (int64) s)); } /* cashlarger() diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 5d8d583ddcb..9b36852a5db 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -1972,6 +1972,17 @@ DecodeTimeOnly(char **field, int *ftype, int nf, break; case DTK_TIME: + + /* + * This might be an ISO time following a "t" field. + */ + if (ptype != 0) + { + if (ptype != DTK_TIME) + return DTERR_BAD_FORMAT; + ptype = 0; + } + dterr = DecodeTime(field[i], (fmask | DTK_DATE_M), INTERVAL_FULL_RANGE, &tmask, tm, fsec); diff --git a/src/backend/utils/adt/dbsize.c b/src/backend/utils/adt/dbsize.c index e5c0f1c45b6..074bc32f230 100644 --- a/src/backend/utils/adt/dbsize.c +++ b/src/backend/utils/adt/dbsize.c @@ -576,9 +576,13 @@ pg_size_pretty(PG_FUNCTION_ARGS) for (unit = size_pretty_units; unit->name != NULL; unit++) { uint8 bits; + uint64 abs_size = size < 0 ? 0 - (uint64) size : (uint64) size; - /* use this unit if there are no more units or we're below the limit */ - if (unit[1].name == NULL || i64abs(size) < unit->limit) + /* + * Use this unit if there are no more units or the absolute size is + * below the limit for the current unit. + */ + if (unit[1].name == NULL || abs_size < unit->limit) { if (unit->round) size = half_rounded(size); diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c index 3c3184f15b5..e2e243835e2 100644 --- a/src/backend/utils/adt/numeric.c +++ b/src/backend/utils/adt/numeric.c @@ -250,6 +250,13 @@ struct NumericData | ((n)->choice.n_short.n_header & NUMERIC_SHORT_WEIGHT_MASK)) \ : ((n)->choice.n_long.n_weight)) +/* + * Maximum weight of a stored Numeric value (based on the use of int16 for the + * weight in NumericLong). Note that intermediate values held in NumericVar + * and NumericSumAccum variables may have much larger weights. + */ +#define NUMERIC_WEIGHT_MAX PG_INT16_MAX + /* ---------- * NumericVar is the format we use for arithmetic. The digit-array part * is the same as the NumericData storage format, but the header is more @@ -1544,10 +1551,15 @@ numeric_round(PG_FUNCTION_ARGS) PG_RETURN_NUMERIC(duplicate_numeric(num)); /* - * Limit the scale value to avoid possible overflow in calculations + * Limit the scale value to avoid possible overflow in calculations. + * + * These limits are based on the maximum number of digits a Numeric value + * can have before and after the decimal point, but we must allow for one + * extra digit before the decimal point, in case the most significant + * digit rounds up; we must check if that causes Numeric overflow. */ - scale = Max(scale, -NUMERIC_MAX_RESULT_SCALE); - scale = Min(scale, NUMERIC_MAX_RESULT_SCALE); + scale = Max(scale, -(NUMERIC_WEIGHT_MAX + 1) * DEC_DIGITS - 1); + scale = Min(scale, NUMERIC_DSCALE_MAX); /* * Unpack the argument and round it at the proper digit position @@ -1593,10 +1605,13 @@ numeric_trunc(PG_FUNCTION_ARGS) PG_RETURN_NUMERIC(duplicate_numeric(num)); /* - * Limit the scale value to avoid possible overflow in calculations + * Limit the scale value to avoid possible overflow in calculations. + * + * These limits are based on the maximum number of digits a Numeric value + * can have before and after the decimal point. */ - scale = Max(scale, -NUMERIC_MAX_RESULT_SCALE); - scale = Min(scale, NUMERIC_MAX_RESULT_SCALE); + scale = Max(scale, -(NUMERIC_WEIGHT_MAX + 1) * DEC_DIGITS); + scale = Min(scale, NUMERIC_DSCALE_MAX); /* * Unpack the argument and truncate it at the proper digit position @@ -7206,7 +7221,7 @@ set_var_from_non_decimal_integer_str(const char *str, const char *cp, int sign, add_var(dest, &tmp_var, dest); /* Result will overflow if weight overflows int16 */ - if (dest->weight > SHRT_MAX) + if (dest->weight > NUMERIC_WEIGHT_MAX) goto out_of_range; /* Begin a new group */ @@ -7243,7 +7258,7 @@ set_var_from_non_decimal_integer_str(const char *str, const char *cp, int sign, add_var(dest, &tmp_var, dest); /* Result will overflow if weight overflows int16 */ - if (dest->weight > SHRT_MAX) + if (dest->weight > NUMERIC_WEIGHT_MAX) goto out_of_range; /* Begin a new group */ @@ -7280,7 +7295,7 @@ set_var_from_non_decimal_integer_str(const char *str, const char *cp, int sign, add_var(dest, &tmp_var, dest); /* Result will overflow if weight overflows int16 */ - if (dest->weight > SHRT_MAX) + if (dest->weight > NUMERIC_WEIGHT_MAX) goto out_of_range; /* Begin a new group */ @@ -7316,7 +7331,7 @@ set_var_from_non_decimal_integer_str(const char *str, const char *cp, int sign, int64_to_numericvar(tmp, &tmp_var); add_var(dest, &tmp_var, dest); - if (dest->weight > SHRT_MAX) + if (dest->weight > NUMERIC_WEIGHT_MAX) goto out_of_range; dest->sign = sign; @@ -10955,7 +10970,8 @@ power_var(const NumericVar *base, const NumericVar *exp, NumericVar *result) /* * Set the scale for the low-precision calculation, computing ln(base) to * around 8 significant digits. Note that ln_dweight may be as small as - * -SHRT_MAX, so the scale may exceed NUMERIC_MAX_DISPLAY_SCALE here. + * -NUMERIC_DSCALE_MAX, so the scale may exceed NUMERIC_MAX_DISPLAY_SCALE + * here. */ local_rscale = 8 - ln_dweight; local_rscale = Max(local_rscale, NUMERIC_MIN_DISPLAY_SCALE); @@ -11063,7 +11079,7 @@ power_var_int(const NumericVar *base, int exp, int exp_dscale, f = 0; /* result is 0 or 1 (weight 0), or error */ /* overflow/underflow tests with fuzz factors */ - if (f > (SHRT_MAX + 1) * DEC_DIGITS) + if (f > (NUMERIC_WEIGHT_MAX + 1) * DEC_DIGITS) ereport(ERROR, (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), errmsg("value overflows numeric format"))); @@ -11194,7 +11210,8 @@ power_var_int(const NumericVar *base, int exp, int exp_dscale, * int16, the final result is guaranteed to overflow (or underflow, if * exp < 0), so we can give up before wasting too many cycles. */ - if (base_prod.weight > SHRT_MAX || result->weight > SHRT_MAX) + if (base_prod.weight > NUMERIC_WEIGHT_MAX || + result->weight > NUMERIC_WEIGHT_MAX) { /* overflow, unless neg, in which case result should be 0 */ if (!neg) diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 9aaaaa960e6..99a21f20b9f 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -2288,9 +2288,9 @@ pg_strxfrm_enabled(pg_locale_t locale) * The provided 'src' must be nul-terminated. If 'destsize' is zero, 'dest' * may be NULL. * - * Returns the number of bytes needed to store the transformed string, - * excluding the terminating nul byte. If the value returned is 'destsize' or - * greater, the resulting contents of 'dest' are undefined. + * Returns the number of bytes needed (or more) to store the transformed + * string, excluding the terminating nul byte. If the value returned is + * 'destsize' or greater, the resulting contents of 'dest' are undefined. */ size_t pg_strxfrm(char *dest, const char *src, size_t destsize, pg_locale_t locale) @@ -2320,9 +2320,9 @@ pg_strxfrm(char *dest, const char *src, size_t destsize, pg_locale_t locale) * 'src' does not need to be nul-terminated. If 'destsize' is zero, 'dest' may * be NULL. * - * Returns the number of bytes needed to store the transformed string, - * excluding the terminating nul byte. If the value returned is 'destsize' or - * greater, the resulting contents of 'dest' are undefined. + * Returns the number of bytes needed (or more) to store the transformed + * string, excluding the terminating nul byte. If the value returned is + * 'destsize' or greater, the resulting contents of 'dest' are undefined. * * This function may need to nul-terminate the argument for libc functions; * so if the caller already has a nul-terminated string, it should call diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c index 67ad876a27c..001f2cc0299 100644 --- a/src/backend/utils/adt/tsquery.c +++ b/src/backend/utils/adt/tsquery.c @@ -439,7 +439,7 @@ gettoken_query_websearch(TSQueryParserState state, int8 *operator, } else if (ISOPERATOR(state->buf)) { - /* or else gettoken_tsvector() will raise an error */ + /* ignore, else gettoken_tsvector() will raise an error */ state->buf++; state->state = WAITOPERAND; continue; @@ -476,15 +476,9 @@ gettoken_query_websearch(TSQueryParserState state, int8 *operator, break; case WAITOPERATOR: - if (t_iseq(state->buf, '"')) + if (*state->buf == '\0') { - /* - * put implicit AND after an operand and handle this quote - * in WAITOPERAND - */ - state->state = WAITOPERAND; - *operator = OP_AND; - return PT_OPR; + return PT_END; } else if (parse_or_operator(state)) { @@ -492,15 +486,17 @@ gettoken_query_websearch(TSQueryParserState state, int8 *operator, *operator = OP_OR; return PT_OPR; } - else if (*state->buf == '\0') + else if (ISOPERATOR(state->buf)) { - return PT_END; + /* ignore other operators in this state too */ + state->buf++; + continue; } else if (!t_isspace(state->buf)) { - /* put implicit AND after an operand */ - *operator = OP_AND; + /* insert implicit AND between operands */ state->state = WAITOPERAND; + *operator = OP_AND; return PT_OPR; } break; diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index b92ff4d266e..10d7ed74f88 100644 --- a/src/backend/utils/adt/varchar.c +++ b/src/backend/utils/adt/varchar.c @@ -1029,7 +1029,9 @@ hashbpchar(PG_FUNCTION_ARGS) buf = palloc(bsize + 1); rsize = pg_strnxfrm(buf, bsize + 1, keydata, keylen, mylocale); - if (rsize != bsize) + + /* the second call may return a smaller value than the first */ + if (rsize > bsize) elog(ERROR, "pg_strnxfrm() returned unexpected result"); /* @@ -1085,7 +1087,9 @@ hashbpcharextended(PG_FUNCTION_ARGS) buf = palloc(bsize + 1); rsize = pg_strnxfrm(buf, bsize + 1, keydata, keylen, mylocale); - if (rsize != bsize) + + /* the second call may return a smaller value than the first */ + if (rsize > bsize) elog(ERROR, "pg_strnxfrm() returned unexpected result"); /* diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index 9f4e7750030..0255349aa43 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -736,7 +736,7 @@ xmltotext_with_options(xmltype *data, XmlOptionType xmloption_arg, bool indent) /* This attaches root to doc, so we need not free it separately. */ xmlDocSetRootElement(doc, root); - xmlAddChild(root, content_nodes); + xmlAddChildList(root, content_nodes); /* * We use this node to insert newlines in the dump. Note: in at @@ -1675,9 +1675,9 @@ xml_doctype_in_content(const xmlChar *str) * XmlOptionType actually used to parse the input (typically the same as * xmloption_arg, but a DOCTYPE node in the input can force DOCUMENT mode). * - * If parsed_nodes isn't NULL and the input is not an XML document, the list - * of parsed nodes from the xmlParseBalancedChunkMemory call will be returned - * to *parsed_nodes. + * If parsed_nodes isn't NULL and we parse in CONTENT mode, the list + * of parsed nodes from the xmlParseInNodeContext call will be returned + * to *parsed_nodes. (It is caller's responsibility to free that.) * * Errors normally result in ereport(ERROR), but if escontext is an * ErrorSaveContext, then "safe" errors are reported there instead, and the @@ -1729,6 +1729,7 @@ xml_parse(text *data, XmlOptionType xmloption_arg, PG_TRY(); { bool parse_as_document = false; + int options; int res_code; size_t count = 0; xmlChar *version = NULL; @@ -1737,11 +1738,6 @@ xml_parse(text *data, XmlOptionType xmloption_arg, /* Any errors here are reported as hard ereport's */ xmlInitParser(); - ctxt = xmlNewParserCtxt(); - if (ctxt == NULL || xmlerrcxt->err_occurred) - xml_ereport(xmlerrcxt, ERROR, ERRCODE_OUT_OF_MEMORY, - "could not allocate parser context"); - /* Decide whether to parse as document or content */ if (xmloption_arg == XMLOPTION_DOCUMENT) parse_as_document = true; @@ -1764,6 +1760,18 @@ xml_parse(text *data, XmlOptionType xmloption_arg, parse_as_document = true; } + /* + * Select parse options. + * + * Note that here we try to apply DTD defaults (XML_PARSE_DTDATTR) + * according to SQL/XML:2008 GR 10.16.7.d: 'Default values defined by + * internal DTD are applied'. As for external DTDs, we try to support + * them too (see SQL/XML:2008 GR 10.16.7.e), but that doesn't really + * happen because xmlPgEntityLoader prevents it. + */ + options = XML_PARSE_NOENT | XML_PARSE_DTDATTR + | (preserve_whitespace ? 0 : XML_PARSE_NOBLANKS); + /* initialize output parameters */ if (parsed_xmloptiontype != NULL) *parsed_xmloptiontype = parse_as_document ? XMLOPTION_DOCUMENT : @@ -1773,18 +1781,16 @@ xml_parse(text *data, XmlOptionType xmloption_arg, if (parse_as_document) { - /* - * Note, that here we try to apply DTD defaults - * (XML_PARSE_DTDATTR) according to SQL/XML:2008 GR 10.16.7.d: - * 'Default values defined by internal DTD are applied'. As for - * external DTDs, we try to support them too, (see SQL/XML:2008 GR - * 10.16.7.e) - */ + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL || xmlerrcxt->err_occurred) + xml_ereport(xmlerrcxt, ERROR, ERRCODE_OUT_OF_MEMORY, + "could not allocate parser context"); + doc = xmlCtxtReadDoc(ctxt, utf8string, - NULL, + NULL, /* no URL */ "UTF-8", - XML_PARSE_NOENT | XML_PARSE_DTDATTR - | (preserve_whitespace ? 0 : XML_PARSE_NOBLANKS)); + options); + if (doc == NULL || xmlerrcxt->err_occurred) { /* Use original option to decide which error code to report */ @@ -1801,6 +1807,9 @@ xml_parse(text *data, XmlOptionType xmloption_arg, } else { + xmlNodePtr root; + + /* set up document with empty root node to be the context node */ doc = xmlNewDoc(version); if (doc == NULL || xmlerrcxt->err_occurred) xml_ereport(xmlerrcxt, ERROR, ERRCODE_OUT_OF_MEMORY, @@ -1813,19 +1822,38 @@ xml_parse(text *data, XmlOptionType xmloption_arg, "could not allocate XML document"); doc->standalone = standalone; + root = xmlNewNode(NULL, (const xmlChar *) "content-root"); + if (root == NULL || xmlerrcxt->err_occurred) + xml_ereport(xmlerrcxt, ERROR, ERRCODE_OUT_OF_MEMORY, + "could not allocate xml node"); + /* This attaches root to doc, so we need not free it separately. */ + xmlDocSetRootElement(doc, root); + /* allow empty content */ if (*(utf8string + count)) { - res_code = xmlParseBalancedChunkMemory(doc, NULL, NULL, 0, - utf8string + count, - parsed_nodes); - if (res_code != 0 || xmlerrcxt->err_occurred) + xmlNodePtr node_list = NULL; + xmlParserErrors res; + + res = xmlParseInNodeContext(root, + (char *) utf8string + count, + strlen((char *) utf8string + count), + options, + &node_list); + + if (res != XML_ERR_OK || xmlerrcxt->err_occurred) { + xmlFreeNodeList(node_list); xml_errsave(escontext, xmlerrcxt, ERRCODE_INVALID_XML_CONTENT, "invalid XML content"); goto fail; } + + if (parsed_nodes != NULL) + *parsed_nodes = node_list; + else + xmlFreeNodeList(node_list); } } @@ -1845,7 +1873,8 @@ xml_parse(text *data, XmlOptionType xmloption_arg, } PG_END_TRY(); - xmlFreeParserCtxt(ctxt); + if (ctxt != NULL) + xmlFreeParserCtxt(ctxt); pg_xml_done(xmlerrcxt, false); @@ -2064,6 +2093,19 @@ xml_errorHandler(void *data, PgXmlErrorPtr error) switch (domain) { case XML_FROM_PARSER: + + /* + * XML_ERR_NOT_WELL_BALANCED is typically reported after some + * other, more on-point error. Furthermore, libxml2 2.13 reports + * it under a completely different set of rules than prior + * versions. To avoid cross-version behavioral differences, + * suppress it so long as we already logged some error. + */ + if (error->code == XML_ERR_NOT_WELL_BALANCED && + xmlerrcxt->err_occurred) + return; + /* fall through */ + case XML_FROM_NONE: case XML_FROM_MEMORY: case XML_FROM_IO: diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index a2ebb50e0d2..000e81a2d96 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -20,6 +20,7 @@ #include "access/sysattr.h" #include "access/table.h" #include "access/xact.h" +#include "catalog/catalog.h" #include "catalog/pg_collation.h" #include "catalog/pg_operator.h" #include "catalog/pg_type.h" @@ -1938,6 +1939,23 @@ ReleaseCatCacheList(CatCList *list) } +/* + * equalTuple + * Are these tuples memcmp()-equal? + */ +static bool +equalTuple(HeapTuple a, HeapTuple b) +{ + uint32 alen; + uint32 blen; + + alen = a->t_len; + blen = b->t_len; + return (alen == blen && + memcmp((char *) a->t_data, + (char *) b->t_data, blen) == 0); +} + /* * CatalogCacheCreateEntry * Create a new CatCTup entry, copying the given HeapTuple and other @@ -1988,14 +2006,34 @@ CatalogCacheCreateEntry(CatCache *cache, HeapTuple ntp, SysScanDesc scandesc, */ if (HeapTupleHasExternal(ntp)) { + bool need_cmp = IsInplaceUpdateOid(cache->cc_reloid); + HeapTuple before = NULL; + bool matches = true; + + if (need_cmp) + before = heap_copytuple(ntp); dtp = toast_flatten_tuple(ntp, cache->cc_tupdesc); /* * The tuple could become stale while we are doing toast table - * access (since AcceptInvalidationMessages can run then), so we - * must recheck its visibility afterwards. + * access (since AcceptInvalidationMessages can run then). + * equalTuple() detects staleness from inplace updates, while + * systable_recheck_tuple() detects staleness from normal updates. + * + * While this equalTuple() follows the usual rule of reading with + * a pin and no buffer lock, it warrants suspicion since an + * inplace update could appear at any moment. It's safe because + * the inplace update sends an invalidation that can't reorder + * before the inplace heap change. If the heap change reaches + * this process just after equalTuple() looks, we've not missed + * its inval. */ - if (!systable_recheck_tuple(scandesc, ntp)) + if (need_cmp) + { + matches = equalTuple(before, ntp); + heap_freetuple(before); + } + if (!matches || !systable_recheck_tuple(scandesc, ntp)) { heap_freetuple(dtp); return NULL; diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 893f8a5b563..7112fb00069 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -1738,7 +1738,21 @@ CopyErrorData(void) newedata = (ErrorData *) palloc(sizeof(ErrorData)); memcpy(newedata, edata, sizeof(ErrorData)); - /* Make copies of separately-allocated fields */ + /* + * Make copies of separately-allocated strings. Note that we copy even + * theoretically-constant strings such as filename. This is because those + * could point into JIT-created code segments that might get unloaded at + * transaction cleanup. In some cases we need the copied ErrorData to + * survive transaction boundaries, so we'd better copy those strings too. + */ + if (newedata->filename) + newedata->filename = pstrdup(newedata->filename); + if (newedata->funcname) + newedata->funcname = pstrdup(newedata->funcname); + if (newedata->domain) + newedata->domain = pstrdup(newedata->domain); + if (newedata->context_domain) + newedata->context_domain = pstrdup(newedata->context_domain); if (newedata->message) newedata->message = pstrdup(newedata->message); if (newedata->detail) @@ -1751,6 +1765,8 @@ CopyErrorData(void) newedata->context = pstrdup(newedata->context); if (newedata->backtrace) newedata->backtrace = pstrdup(newedata->backtrace); + if (newedata->message_id) + newedata->message_id = pstrdup(newedata->message_id); if (newedata->schema_name) newedata->schema_name = pstrdup(newedata->schema_name); if (newedata->table_name) diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 04866078eb6..78c7ac8e039 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1252,10 +1252,10 @@ find_option(const char *name, bool create_placeholders, bool skip_errors, static int guc_var_compare(const void *a, const void *b) { - const struct config_generic *confa = *(struct config_generic *const *) a; - const struct config_generic *confb = *(struct config_generic *const *) b; + const char *namea = **(const char **const *) a; + const char *nameb = **(const char **const *) b; - return guc_name_compare(confa->name, confb->name); + return guc_name_compare(namea, nameb); } /* diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index b078b934a79..a515ecde977 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -564,6 +564,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 @@ -4549,6 +4550,17 @@ struct config_string ConfigureNamesString[] = check_debug_io_direct, assign_debug_io_direct, NULL }, + { + {"restrict_nonsystem_relation_kind", PGC_USERSET, CLIENT_CONN_STATEMENT, + gettext_noop("Sets relation kinds of non-system relation to restrict use"), + 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/mmgr/generation.c b/src/backend/utils/mmgr/generation.c index 4fb8663cd6b..8c2ca87705d 100644 --- a/src/backend/utils/mmgr/generation.c +++ b/src/backend/utils/mmgr/generation.c @@ -780,8 +780,8 @@ GenerationRealloc(void *pointer, Size size) #endif /* - * Maybe the allocated area already is >= the new size. (In particular, - * we always fall out here if the requested size is a decrease.) + * Maybe the allocated area already big enough. (In particular, we always + * fall out here if the requested size is a decrease.) * * This memory context does not use power-of-2 chunk sizing and instead * carves the chunks to be as small as possible, so most repalloc() calls @@ -789,7 +789,12 @@ GenerationRealloc(void *pointer, Size size) * * XXX Perhaps we should annotate this condition with unlikely()? */ +#ifdef MEMORY_CONTEXT_CHECKING + /* With MEMORY_CONTEXT_CHECKING, we need an extra byte for the sentinel */ + if (oldsize > size) +#else if (oldsize >= size) +#endif { #ifdef MEMORY_CONTEXT_CHECKING Size oldrequest = chunk->requested_size; diff --git a/src/bin/initdb/po/es.po b/src/bin/initdb/po/es.po index 449d2020a6e..298e6adbb7a 100644 --- a/src/bin/initdb/po/es.po +++ b/src/bin/initdb/po/es.po @@ -10,7 +10,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:19+0000\n" "PO-Revision-Date: 2023-10-04 11:47+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -214,276 +214,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:623 initdb.c:1610 #, 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:667 initdb.c:971 initdb.c:991 #, 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:671 initdb.c:974 initdb.c:993 #, c-format msgid "could not write file \"%s\": %m" msgstr "no se pudo escribir el archivo «%s»: %m" -#: initdb.c:670 +#: initdb.c:675 #, c-format msgid "could not close file \"%s\": %m" msgstr "no se pudo cerrar el archivo «%s»: %m" -#: initdb.c:686 +#: initdb.c:691 #, c-format msgid "could not execute command \"%s\": %m" msgstr "no se pudo ejecutar la orden «%s»: %m" -#: initdb.c:704 +#: initdb.c:709 #, c-format msgid "removing data directory \"%s\"" msgstr "eliminando el directorio de datos «%s»" -#: initdb.c:706 +#: initdb.c:711 #, c-format msgid "failed to remove data directory" msgstr "no se pudo eliminar el directorio de datos" -#: initdb.c:710 +#: initdb.c:715 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "eliminando el contenido del directorio «%s»" -#: initdb.c:713 +#: initdb.c:718 #, 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:723 #, c-format msgid "removing WAL directory \"%s\"" msgstr "eliminando el directorio de WAL «%s»" -#: initdb.c:720 +#: initdb.c:725 #, c-format msgid "failed to remove WAL directory" msgstr "no se pudo eliminar el directorio de WAL" -#: initdb.c:724 +#: initdb.c:729 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "eliminando el contenido del directorio de WAL «%s»" -#: initdb.c:726 +#: initdb.c:731 #, 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:738 #, 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:742 #, 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:760 #, c-format msgid "cannot be run as root" msgstr "no se puede ejecutar como «root»" -#: initdb.c:756 +#: initdb.c:761 #, 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:793 #, 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:937 #, 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:938 initdb.c:943 initdb.c:950 #, 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:942 #, c-format msgid "could not access file \"%s\": %m" msgstr "no se pudo acceder al archivo «%s»: %m" -#: initdb.c:944 +#: initdb.c:949 #, c-format msgid "file \"%s\" is not a regular file" msgstr "el archivo «%s» no es un archivo regular" -#: initdb.c:1077 +#: initdb.c:1082 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "seleccionando implementación de memoria compartida dinámica ... " -#: initdb.c:1086 +#: initdb.c:1091 #, c-format msgid "selecting default max_connections ... " msgstr "seleccionando el valor para max_connections ... " -#: initdb.c:1106 +#: initdb.c:1111 #, c-format msgid "selecting default shared_buffers ... " msgstr "seleccionando el valor para shared_buffers ... " -#: initdb.c:1129 +#: initdb.c:1134 #, c-format msgid "selecting default time zone ... " msgstr "seleccionando el huso horario por omisión ... " -#: initdb.c:1206 +#: initdb.c:1211 msgid "creating configuration files ... " msgstr "creando archivos de configuración ... " -#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 +#: initdb.c:1364 initdb.c:1378 initdb.c:1445 initdb.c:1456 #, 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:1474 #, c-format msgid "running bootstrap script ... " msgstr "ejecutando script de inicio (bootstrap) ... " -#: initdb.c:1489 +#: initdb.c:1486 #, 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:1488 #, 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:1588 msgid "Enter new superuser password: " msgstr "Ingrese la nueva contraseña del superusuario: " -#: initdb.c:1592 +#: initdb.c:1589 msgid "Enter it again: " msgstr "Ingrésela nuevamente: " -#: initdb.c:1595 +#: initdb.c:1592 #, c-format msgid "Passwords didn't match.\n" msgstr "Las contraseñas no coinciden.\n" -#: initdb.c:1619 +#: initdb.c:1616 #, 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:1619 #, c-format msgid "password file \"%s\" is empty" msgstr "el archivo de contraseña «%s» está vacío" -#: initdb.c:2034 +#: initdb.c:2031 #, c-format msgid "caught signal\n" msgstr "se ha capturado una señal\n" -#: initdb.c:2040 +#: initdb.c:2037 #, 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:2045 #, c-format msgid "ok\n" msgstr "hecho\n" -#: initdb.c:2137 +#: initdb.c:2134 #, c-format msgid "setlocale() failed" msgstr "setlocale() falló" -#: initdb.c:2155 +#: initdb.c:2152 #, 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:2160 #, c-format msgid "invalid locale name \"%s\"" msgstr "nombre de configuración regional «%s» no es válido" -#: initdb.c:2164 +#: initdb.c:2161 #, 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." -#: initdb.c:2177 +#: initdb.c:2174 #, 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:2200 initdb.c:2224 #, c-format msgid "encoding mismatch" msgstr "codificaciones no coinciden" -#: initdb.c:2204 +#: initdb.c:2201 #, 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:2206 initdb.c:2227 #, 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:2225 #, 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:2276 #, 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:2282 initdb.c:2334 initdb.c:2413 #, c-format msgid "ICU is not supported in this build" msgstr "ICU no está soportado en este servidor" -#: initdb.c:2308 +#: initdb.c:2305 #, 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" -#: initdb.c:2334 +#: initdb.c:2331 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "la configuración regional «%s» tiene lenguaje «%s» desconocido" -#: initdb.c:2400 +#: initdb.c:2397 #, c-format msgid "ICU locale must be specified" msgstr "el locale ICU debe ser especificado" -#: initdb.c:2404 +#: initdb.c:2401 #, 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" -#: initdb.c:2427 +#: initdb.c:2424 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -492,17 +492,17 @@ msgstr "" "%s inicializa un cluster de base de datos PostgreSQL.\n" "\n" -#: initdb.c:2428 +#: initdb.c:2425 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: initdb.c:2429 +#: initdb.c:2426 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPCIÓN]... [DATADIR]\n" -#: initdb.c:2430 +#: initdb.c:2427 #, c-format msgid "" "\n" @@ -511,69 +511,69 @@ msgstr "" "\n" "Opciones:\n" -#: initdb.c:2431 +#: initdb.c:2428 #, 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:2429 #, 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:2430 #, 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:2431 #, 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:2432 #, 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:2433 #, 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:2434 #, 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:2435 #, 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" -#: initdb.c:2439 +#: initdb.c:2436 #, 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:2437 #, 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:2438 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -587,12 +587,12 @@ msgstr "" " en la categoría respectiva (el valor por omisión\n" " es tomado de variables de ambiente)\n" -#: initdb.c:2445 +#: initdb.c:2442 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale equivalente a --locale=C\n" -#: initdb.c:2446 +#: initdb.c:2443 #, c-format msgid "" " --locale-provider={libc|icu}\n" @@ -602,12 +602,12 @@ msgstr "" " define el proveedor de configuración regional\n" " para nuevas bases de datos\n" -#: initdb.c:2448 +#: initdb.c:2445 #, 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:2446 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -616,27 +616,27 @@ msgstr "" " -T, --text-search-config=CONF\n" " configuración de búsqueda en texto por omisión\n" -#: initdb.c:2451 +#: initdb.c:2448 #, 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:2449 #, 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:2450 #, 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:2451 #, 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:2452 #, c-format msgid "" "\n" @@ -645,52 +645,52 @@ msgstr "" "\n" "Opciones menos usadas:\n" -#: initdb.c:2456 +#: initdb.c:2453 #, 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" -#: initdb.c:2457 +#: initdb.c:2454 #, 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:2455 #, 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:2456 #, 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:2457 #, 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:2458 #, 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:2459 #, 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:2460 #, c-format msgid " -s, --show show internal settings\n" msgstr " -s, --show muestra variables internas\n" -#: initdb.c:2464 +#: initdb.c:2461 #, 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:2462 #, c-format msgid "" "\n" @@ -699,17 +699,17 @@ msgstr "" "\n" "Otras opciones:\n" -#: initdb.c:2466 +#: initdb.c:2463 #, 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:2464 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: initdb.c:2468 +#: initdb.c:2465 #, c-format msgid "" "\n" @@ -720,7 +720,7 @@ msgstr "" "Si el directorio de datos no es especificado, se usa la variable de\n" "ambiente PGDATA.\n" -#: initdb.c:2470 +#: initdb.c:2467 #, c-format msgid "" "\n" @@ -729,72 +729,72 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: initdb.c:2471 +#: initdb.c:2468 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: initdb.c:2499 +#: initdb.c:2496 #, 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:2510 #, 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:2529 #, c-format msgid "no data directory specified" msgstr "no se especificó un directorio de datos" -#: initdb.c:2533 +#: initdb.c:2530 #, 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:2547 #, c-format msgid "could not set environment" msgstr "no se pudo establecer el ambiente" -#: initdb.c:2568 +#: initdb.c:2565 #, 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:2568 #, 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:2583 #, 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:2600 #, 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:2603 #, 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:2604 #, c-format msgid " provider: %s\n" msgstr " proveedor: %s\n" -#: initdb.c:2609 +#: initdb.c:2606 #, c-format msgid " ICU locale: %s\n" msgstr " Locale ICU: %s\n" -#: initdb.c:2610 +#: initdb.c:2607 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -811,22 +811,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2640 +#: initdb.c:2637 #, 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:2639 #, 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:2640 initdb.c:3173 initdb.c:3281 initdb.c:3301 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: initdb.c:2655 +#: initdb.c:2652 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -836,109 +836,109 @@ 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:2657 #, 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:2659 #, 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:2661 #, 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:2669 #, 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:2738 #, 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:2749 #, 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:2754 #, 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:2759 #, 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:2802 initdb.c:2873 #, 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:2807 initdb.c:2878 initdb.c:2926 initdb.c:2982 #, 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:2816 initdb.c:2888 #, 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:2821 initdb.c:2893 #, 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:2833 initdb.c:2905 #, 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:2837 #, 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:2845 initdb.c:2915 initdb.c:3322 #, c-format msgid "could not access directory \"%s\": %m" msgstr "no se pudo acceder al directorio «%s»: %m" -#: initdb.c:2869 +#: initdb.c:2866 #, 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:2909 #, 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:2919 #, 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:2938 #, 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:2940 #, 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:2942 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -947,72 +947,72 @@ 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:2968 #, c-format msgid "creating subdirectories ... " msgstr "creando subdirectorios ... " -#: initdb.c:3014 +#: initdb.c:3011 msgid "performing post-bootstrap initialization ... " msgstr "realizando inicialización post-bootstrap ... " -#: initdb.c:3175 +#: initdb.c:3172 #, c-format msgid "-c %s requires a value" msgstr "-c %s requiere un valor" -#: initdb.c:3200 +#: initdb.c:3197 #, c-format msgid "Running in debug mode.\n" msgstr "Ejecutando en modo de depuración.\n" -#: initdb.c:3204 +#: initdb.c:3201 #, 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:3271 #, c-format msgid "unrecognized locale provider: %s" msgstr "proveedor de ordenamiento no reconocido: %s" -#: initdb.c:3302 +#: initdb.c:3299 #, 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:3306 initdb.c:3310 #, 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:3324 initdb.c:3401 msgid "syncing data to disk ... " msgstr "sincronizando los datos a disco ... " -#: initdb.c:3335 +#: initdb.c:3332 #, 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 +#: initdb.c:3354 #, 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:3356 #, 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" -#: initdb.c:3373 +#: initdb.c:3370 #, 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:3372 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1023,17 +1023,17 @@ msgstr "" "Este usuario también debe ser quien ejecute el proceso servidor.\n" "\n" -#: initdb.c:3391 +#: initdb.c:3388 #, 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:3390 #, 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:3407 #, c-format msgid "" "\n" @@ -1045,22 +1045,22 @@ msgstr "" "El directorio de datos podría corromperse si el sistema operativo sufre\n" "una caída.\n" -#: initdb.c:3415 +#: initdb.c:3412 #, 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:3413 #, 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:3443 msgid "logfile" msgstr "archivo_de_registro" -#: initdb.c:3448 +#: initdb.c:3445 #, c-format msgid "" "\n" diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl index 0e4f0b5e644..ca9c8b10066 100644 --- a/src/bin/initdb/t/001_initdb.pl +++ b/src/bin/initdb/t/001_initdb.pl @@ -86,7 +86,7 @@ SKIP: { skip "unix-style permissions not supported on Windows", 2 - if ($windows_os); + if ($windows_os || $Config::Config{osname} eq 'cygwin'); # Init a new db with group access my $datadir_group = "$tempdir/data_group"; diff --git a/src/bin/pg_amcheck/po/es.po b/src/bin/pg_amcheck/po/es.po index ed8cb6e5503..d0650d25c0a 100644 --- a/src/bin/pg_amcheck/po/es.po +++ b/src/bin/pg_amcheck/po/es.po @@ -9,7 +9,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:20+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -52,7 +52,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" diff --git a/src/bin/pg_archivecleanup/po/es.po b/src/bin/pg_archivecleanup/po/es.po index 902f4a849d7..45cc68c2bad 100644 --- a/src/bin/pg_archivecleanup/po/es.po +++ b/src/bin/pg_archivecleanup/po/es.po @@ -8,7 +8,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:21+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_basebackup/po/es.po b/src/bin/pg_basebackup/po/es.po index c4dbf4ab2b2..587af7a68e8 100644 --- a/src/bin/pg_basebackup/po/es.po +++ b/src/bin/pg_basebackup/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_basebackup (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 12:18+0000\n" "PO-Revision-Date: 2023-10-04 11:47+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -133,7 +133,7 @@ msgstr "no se pudo abrir el archivo «%s»: %m" msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" -#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462 +#: ../../common/file_utils.c:379 pg_basebackup.c:2238 walmethods.c:462 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" @@ -150,19 +150,19 @@ msgstr "%s debe estar en el rango %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/recovery_gen.c:149 pg_basebackup.c:1610 #, c-format msgid "out of memory" msgstr "memoria agotada" #: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700 +#: bbstreamer_file.c:258 pg_basebackup.c:1407 pg_basebackup.c:1701 #, 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 bbstreamer_file.c:93 bbstreamer_file.c:360 -#: pg_basebackup.c:1470 pg_basebackup.c:1679 +#: pg_basebackup.c:1471 pg_basebackup.c:1680 #, c-format msgid "could not create file \"%s\": %m" msgstr "no se pudo crear archivo «%s»: %m" @@ -177,7 +177,7 @@ msgstr "no se pudo cerrar el archivo «%s»: %m" msgid "unexpected state while extracting archive" msgstr "estado inesperado mientras se extraía el archivo" -#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730 +#: bbstreamer_file.c:320 pg_basebackup.c:687 pg_basebackup.c:731 #, c-format msgid "could not create directory \"%s\": %m" msgstr "no se pudo crear el directorio «%s»: %m" @@ -674,7 +674,7 @@ msgstr "Sitio web de %s: <%s>\n" msgid "could not read from ready pipe: %m" msgstr "no se pudo leer desde la tubería: %m" -#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151 +#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2152 #: streamutil.c:441 #, c-format msgid "could not parse write-ahead log location \"%s\"" @@ -690,347 +690,347 @@ msgstr "no se pudo completar la escritura de archivos WAL: %m" msgid "could not create pipe for background process: %m" msgstr "no se pudo crear la tubería para el proceso en segundo plano: %m" -#: pg_basebackup.c:664 +#: pg_basebackup.c:665 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "se creó slot temporal de replicación «%s»" -#: pg_basebackup.c:667 +#: pg_basebackup.c:668 #, c-format msgid "created replication slot \"%s\"" msgstr "se creó el slot de replicación «%s»" -#: pg_basebackup.c:701 +#: pg_basebackup.c:702 #, c-format msgid "could not create background process: %m" msgstr "no se pudo lanzar el proceso en segundo plano: %m" -#: pg_basebackup.c:710 +#: pg_basebackup.c:711 #, c-format msgid "could not create background thread: %m" msgstr "no se pudo lanzar el hilo en segundo plano: %m" -#: pg_basebackup.c:749 +#: pg_basebackup.c:750 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "el directorio «%s» existe pero no está vacío" -#: pg_basebackup.c:755 +#: pg_basebackup.c:756 #, c-format msgid "could not access directory \"%s\": %m" msgstr "no se pudo acceder al directorio «%s»: %m" -#: pg_basebackup.c:831 +#: pg_basebackup.c:832 #, 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 tablespaces %*s" -#: pg_basebackup.c:843 +#: pg_basebackup.c:844 #, 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 tablespaces (%s%-*.*s)" -#: pg_basebackup.c:859 +#: pg_basebackup.c:860 #, 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 tablespaces" -#: pg_basebackup.c:883 +#: pg_basebackup.c:884 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "tasa de transferencia «%s» no es un valor válido" -#: pg_basebackup.c:885 +#: pg_basebackup.c:886 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "tasa de transferencia «%s» no válida: %m" -#: pg_basebackup.c:892 +#: pg_basebackup.c:893 #, c-format msgid "transfer rate must be greater than zero" msgstr "tasa de transferencia debe ser mayor que cero" -#: pg_basebackup.c:922 +#: pg_basebackup.c:923 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "unidad de --max-rato no válida: «%s»" -#: pg_basebackup.c:926 +#: pg_basebackup.c:927 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "la tasa de transferencia «%s» excede el rango de enteros" -#: pg_basebackup.c:933 +#: pg_basebackup.c:934 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "la tasa de transferencia «%s» está fuera de rango" -#: pg_basebackup.c:995 +#: pg_basebackup.c:996 #, c-format msgid "could not get COPY data stream: %s" msgstr "no se pudo obtener un flujo de datos COPY: %s" -#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608 +#: pg_basebackup.c:1013 pg_recvlogical.c:436 pg_recvlogical.c:608 #: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "no fue posible leer datos COPY: %s" -#: pg_basebackup.c:1016 +#: pg_basebackup.c:1017 #, c-format msgid "background process terminated unexpectedly" msgstr "un proceso en segundo plano terminó inesperadamente" -#: pg_basebackup.c:1087 +#: pg_basebackup.c:1088 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "no se pueden inyectar un manifiesto en un archivo tar comprimido" -#: pg_basebackup.c:1088 +#: pg_basebackup.c:1089 #, c-format msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s." msgstr "Use compresión del lado del cliente, envíe la salida a un directorio en lugar de a salida estándar, o use %s." -#: pg_basebackup.c:1104 +#: pg_basebackup.c:1105 #, c-format msgid "cannot parse archive \"%s\"" msgstr "no se pudo interpretar el archivo «%s»" -#: pg_basebackup.c:1105 +#: pg_basebackup.c:1106 #, c-format msgid "Only tar archives can be parsed." msgstr "Sólo los archivos tar pueden ser interpretados." -#: pg_basebackup.c:1107 +#: pg_basebackup.c:1108 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "El formato plano requiere que pg_basebackup interprete el archivo." -#: pg_basebackup.c:1109 +#: pg_basebackup.c:1110 #, c-format msgid "Using - as the output directory requires pg_basebackup to parse the archive." msgstr "Usar - como directorio de salida requiere que pg_basebackup interprete el archivo." -#: pg_basebackup.c:1111 +#: pg_basebackup.c:1112 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "La opción -R requiere que pg_basebackup interprete el archivo." -#: pg_basebackup.c:1330 +#: pg_basebackup.c:1331 #, c-format msgid "archives must precede manifest" msgstr "los archivos deben preceder al manifiesto" -#: pg_basebackup.c:1345 +#: pg_basebackup.c:1346 #, c-format msgid "invalid archive name: \"%s\"" msgstr "nombre de archivo no válido: «%s»" -#: pg_basebackup.c:1417 +#: pg_basebackup.c:1418 #, c-format msgid "unexpected payload data" msgstr "datos inesperados" -#: pg_basebackup.c:1560 +#: pg_basebackup.c:1561 #, c-format msgid "empty COPY message" msgstr "mensaje COPY vacío" -#: pg_basebackup.c:1562 +#: pg_basebackup.c:1563 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "mensaje COPY mal formado de tipo %d, largo %zu" -#: pg_basebackup.c:1760 +#: pg_basebackup.c:1761 #, c-format msgid "incompatible server version %s" msgstr "versión del servidor %s incompatible" -#: pg_basebackup.c:1776 +#: pg_basebackup.c:1777 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Use -X none o -X fetch para deshabilitar el flujo de log." -#: pg_basebackup.c:1844 +#: pg_basebackup.c:1845 #, c-format msgid "backup targets are not supported by this server version" msgstr "los destinos de respaldo no están soportados por esta versión de servidor" -#: pg_basebackup.c:1847 +#: pg_basebackup.c:1848 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "la configuración de recuperación no puede ser escrita cuando se usa un destino de respaldo base" -#: pg_basebackup.c:1874 +#: pg_basebackup.c:1875 #, c-format msgid "server does not support server-side compression" msgstr "el servidor no soporta compresión del lado del servidor" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1885 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "iniciando el respaldo base, esperando que el checkpoint se complete" -#: pg_basebackup.c:1888 +#: pg_basebackup.c:1889 #, c-format msgid "waiting for checkpoint" msgstr "esperando al checkpoint" -#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582 +#: pg_basebackup.c:1902 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 "no se pudo ejecutar la orden de replicación «%s»: %s" -#: pg_basebackup.c:1909 +#: pg_basebackup.c:1910 #, c-format msgid "could not initiate base backup: %s" msgstr "no se pudo iniciar el respaldo base: %s" -#: pg_basebackup.c:1912 +#: pg_basebackup.c:1913 #, c-format msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields" msgstr "el servidor envió una respuesta inesperada a la orden BASE_BACKUP; se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos" -#: pg_basebackup.c:1918 +#: pg_basebackup.c:1919 #, c-format msgid "checkpoint completed" msgstr "el checkpoint se ha completado" -#: pg_basebackup.c:1932 +#: pg_basebackup.c:1933 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "punto de inicio del WAL: %s en el timeline %u" -#: pg_basebackup.c:1940 +#: pg_basebackup.c:1941 #, c-format msgid "could not get backup header: %s" msgstr "no se pudo obtener la cabecera de respaldo: %s" -#: pg_basebackup.c:1943 +#: pg_basebackup.c:1944 #, c-format msgid "no data returned from server" msgstr "el servidor no retornó datos" -#: pg_basebackup.c:1986 +#: pg_basebackup.c:1987 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "sólo se puede escribir un tablespace a stdout, la base de datos tiene %d" -#: pg_basebackup.c:1999 +#: pg_basebackup.c:2000 #, c-format msgid "starting background WAL receiver" msgstr "iniciando el receptor de WAL en segundo plano" -#: pg_basebackup.c:2082 +#: pg_basebackup.c:2083 #, c-format msgid "backup failed: %s" msgstr "el respaldo falló: %s" -#: pg_basebackup.c:2085 +#: pg_basebackup.c:2086 #, c-format msgid "no write-ahead log end position returned from server" msgstr "el servidor no retornó la posición final del WAL" -#: pg_basebackup.c:2088 +#: pg_basebackup.c:2089 #, c-format msgid "write-ahead log end point: %s" msgstr "posición final del WAL: %s" -#: pg_basebackup.c:2099 +#: pg_basebackup.c:2100 #, c-format msgid "checksum error occurred" msgstr "ocurrió un error de checksums" -#: pg_basebackup.c:2104 +#: pg_basebackup.c:2105 #, c-format msgid "final receive failed: %s" msgstr "la recepción final falló: %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2129 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "esperando que el proceso en segundo plano complete el flujo..." -#: pg_basebackup.c:2132 +#: pg_basebackup.c:2133 #, c-format msgid "could not send command to background pipe: %m" msgstr "no se pudo enviar una orden a la tubería de segundo plano: %m" -#: pg_basebackup.c:2137 +#: pg_basebackup.c:2138 #, c-format msgid "could not wait for child process: %m" msgstr "no se pudo esperar al proceso hijo: %m" -#: pg_basebackup.c:2139 +#: pg_basebackup.c:2140 #, c-format msgid "child %d died, expected %d" msgstr "el hijo %d murió, pero se esperaba al %d" -#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196 +#: pg_basebackup.c:2142 streamutil.c:91 streamutil.c:196 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2162 #, c-format msgid "could not wait for child thread: %m" msgstr "no se pudo esperar el hilo hijo: %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2167 #, c-format msgid "could not get child thread exit status: %m" msgstr "no se pudo obtener la cabecera de respaldo: %m" -#: pg_basebackup.c:2169 +#: pg_basebackup.c:2170 #, c-format msgid "child thread exited with error %u" msgstr "el hilo hijo terminó con error %u" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2199 #, c-format msgid "syncing data to disk ..." msgstr "sincronizando datos a disco ..." -#: pg_basebackup.c:2223 +#: pg_basebackup.c:2224 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "renombrando backup_manifest.tmp a backup_manifest" -#: pg_basebackup.c:2243 +#: pg_basebackup.c:2244 #, c-format msgid "base backup completed" msgstr "el respaldo base se ha completado" -#: pg_basebackup.c:2326 +#: pg_basebackup.c:2327 #, c-format msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" msgstr "argumento de checkpoint «%s» no válido, debe ser «fast» o «spread»" -#: pg_basebackup.c:2344 +#: pg_basebackup.c:2345 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "formato de salida «%s» no válido, debe ser «plain» o «tar»" -#: pg_basebackup.c:2422 +#: pg_basebackup.c:2423 #, c-format msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" msgstr "opción de wal-method «%s» no válida, debe ser «fetch», «stream» o «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:2458 pg_basebackup.c:2470 pg_basebackup.c:2492 +#: pg_basebackup.c:2504 pg_basebackup.c:2510 pg_basebackup.c:2562 +#: pg_basebackup.c:2573 pg_basebackup.c:2583 pg_basebackup.c:2589 +#: pg_basebackup.c:2596 pg_basebackup.c:2608 pg_basebackup.c:2620 +#: pg_basebackup.c:2628 pg_basebackup.c:2641 pg_basebackup.c:2647 +#: pg_basebackup.c:2656 pg_basebackup.c:2668 pg_basebackup.c:2679 +#: pg_basebackup.c:2687 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 @@ -1040,94 +1040,94 @@ msgstr "opción de wal-method «%s» no válida, debe ser «fetch», «stream» msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845 +#: pg_basebackup.c:2468 pg_receivewal.c:758 pg_recvlogical.c:845 #, 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_basebackup.c:2490 +#: pg_basebackup.c:2491 #, c-format msgid "cannot specify both format and backup target" msgstr "no se puede especificar un formato junto con un destino de respaldo" -#: pg_basebackup.c:2502 +#: pg_basebackup.c:2503 #, c-format msgid "must specify output directory or backup target" msgstr "debe especificar un directorio de salida o destino de respaldo base" -#: pg_basebackup.c:2508 +#: pg_basebackup.c:2509 #, c-format msgid "cannot specify both output directory and backup target" msgstr "no se puede especificar un directorio de salida junto con un destino de respaldo" -#: pg_basebackup.c:2538 pg_receivewal.c:802 +#: pg_basebackup.c:2539 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algoritmo de compresión no reconocido: «%s»" -#: pg_basebackup.c:2544 pg_receivewal.c:809 +#: pg_basebackup.c:2545 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "especificación de compresión no válida: %s" -#: pg_basebackup.c:2560 +#: pg_basebackup.c:2561 #, c-format msgid "client-side compression is not possible when a backup target is specified" msgstr "la compresión del lado del cliente no es posible cuando se especifica un destino del respaldo base" -#: pg_basebackup.c:2571 +#: pg_basebackup.c:2572 #, c-format msgid "only tar mode backups can be compressed" msgstr "sólo los respaldos de modo tar pueden ser comprimidos" -#: pg_basebackup.c:2581 +#: pg_basebackup.c:2582 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "no se puede enviar WAL cuando se especifica un destino del respaldo base" -#: pg_basebackup.c:2587 +#: pg_basebackup.c:2588 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "no se puede enviar WALs en modo tar a stdout" -#: pg_basebackup.c:2594 +#: pg_basebackup.c:2595 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "los slots de replicación sólo pueden usarse con flujo de WAL" -#: pg_basebackup.c:2606 +#: pg_basebackup.c:2607 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "no se puede usar --no-slot junto con nombre de slot" #. translator: second %s is an option name -#: pg_basebackup.c:2617 pg_receivewal.c:774 +#: pg_basebackup.c:2618 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "la opcón %s necesita que se especifique un slot con --slot" -#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676 -#: pg_basebackup.c:2684 +#: pg_basebackup.c:2626 pg_basebackup.c:2666 pg_basebackup.c:2677 +#: pg_basebackup.c:2685 #, c-format msgid "%s and %s are incompatible options" msgstr "%s y %s son opciones incompatibles" -#: pg_basebackup.c:2639 +#: pg_basebackup.c:2640 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "la ubicación del directorio de WAL no puede especificarse junto con un destino de respaldo" -#: pg_basebackup.c:2645 +#: pg_basebackup.c:2646 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "la ubicación del directorio de WAL sólo puede especificarse en modo «plain»" -#: pg_basebackup.c:2654 +#: pg_basebackup.c:2655 #, c-format msgid "WAL directory location must be an absolute path" msgstr "la ubicación del directorio de WAL debe ser una ruta absoluta" -#: pg_basebackup.c:2754 +#: pg_basebackup.c:2755 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "no se pudo crear el enlace simbólico «%s»: %m" @@ -1803,7 +1803,3 @@ msgstr "unlink no soportado con compresión" #: walmethods.c:1288 msgid "could not close compression stream" msgstr "no se pudo cerrar el flujo comprimido" - -#, 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" diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index c8cef688d49..7f29036f78b 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -359,13 +359,13 @@ # Create a temporary directory in the system location. my $sys_tempdir = PostgreSQL::Test::Utils::tempdir_short; -# On Windows use the short location to avoid path length issues. -# Elsewhere use $tempdir to avoid file system boundary issues with moving. -my $tmploc = $windows_os ? $sys_tempdir : $tempdir; - -rename("$pgdata/pg_replslot", "$tmploc/pg_replslot") - or BAIL_OUT "could not move $pgdata/pg_replslot"; -dir_symlink("$tmploc/pg_replslot", "$pgdata/pg_replslot") +# pg_replslot should be empty. We remove it and recreate it in $sys_tempdir +# before symlinking, in order to avoid possibly trying to move things across +# drives. +rmdir("$pgdata/pg_replslot") + or BAIL_OUT "could not remove $pgdata/pg_replslot"; +mkdir("$sys_tempdir/pg_replslot"); # if this fails the symlink will fail +dir_symlink("$sys_tempdir/pg_replslot", "$pgdata/pg_replslot") or BAIL_OUT "could not symlink to $pgdata/pg_replslot"; $node->start; @@ -495,7 +495,7 @@ SKIP: { skip "unix-style permissions not supported on Windows", 1 - if ($windows_os); + if ($windows_os || $Config::Config{osname} eq 'cygwin'); ok(check_mode_recursive("$tempdir/backup1", 0750, 0640), "check backup dir permissions"); diff --git a/src/bin/pg_checksums/po/es.po b/src/bin/pg_checksums/po/es.po index 475406d9037..0a61a9f414f 100644 --- a/src/bin/pg_checksums/po/es.po +++ b/src/bin/pg_checksums/po/es.po @@ -10,7 +10,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:22+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: pgsql-es-ayuda \n" @@ -206,127 +206,127 @@ msgstr "checksums activados en archivo «%s»" msgid "could not open directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: pg_checksums.c:342 pg_checksums.c:411 +#: pg_checksums.c:346 pg_checksums.c:415 #, 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:370 #, 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:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_checksums.c:523 +#: pg_checksums.c:527 #, c-format msgid "no data directory specified" msgstr "no se especificó el directorio de datos" -#: pg_checksums.c:532 +#: pg_checksums.c:536 #, 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:545 #, 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:553 #, 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:556 #, 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:560 #, 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:561 #, 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:573 #, c-format msgid "cluster must be shut down" msgstr "el clúster debe estar apagado" -#: pg_checksums.c:573 +#: pg_checksums.c:577 #, 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:581 #, 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:585 #, 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:609 #, c-format msgid "Checksum operation completed\n" msgstr "Operación de checksums completa\n" -#: pg_checksums.c:606 +#: pg_checksums.c:610 #, c-format msgid "Files scanned: %lld\n" msgstr "Archivos recorridos: %lld\n" -#: pg_checksums.c:607 +#: pg_checksums.c:611 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Bloques recorridos: %lld\n" -#: pg_checksums.c:610 +#: pg_checksums.c:614 #, c-format msgid "Bad checksums: %lld\n" msgstr "Checksums incorrectos: %lld\n" -#: pg_checksums.c:611 pg_checksums.c:643 +#: pg_checksums.c:615 pg_checksums.c:647 #, c-format msgid "Data checksum version: %u\n" msgstr "Versión de checksums de datos: %u\n" -#: pg_checksums.c:618 +#: pg_checksums.c:622 #, c-format msgid "Files written: %lld\n" msgstr "Archivos escritos: %lld\n" -#: pg_checksums.c:619 +#: pg_checksums.c:623 #, c-format msgid "Blocks written: %lld\n" msgstr "Bloques escritos: %lld\n" -#: pg_checksums.c:635 +#: pg_checksums.c:639 #, c-format msgid "syncing data directory" msgstr "sincronizando directorio de datos" -#: pg_checksums.c:639 +#: pg_checksums.c:643 #, c-format msgid "updating control file" msgstr "actualizando archivo de control" -#: pg_checksums.c:645 +#: pg_checksums.c:649 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Checksums activos en el clúster\n" -#: pg_checksums.c:647 +#: pg_checksums.c:651 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Checksums inactivos en el clúster\n" diff --git a/src/bin/pg_config/po/es.po b/src/bin/pg_config/po/es.po index 4ea58384647..c459054cd58 100644 --- a/src/bin/pg_config/po/es.po +++ b/src/bin/pg_config/po/es.po @@ -10,7 +10,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:17+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_controldata/po/es.po b/src/bin/pg_controldata/po/es.po index 58127cba51d..b96d708db89 100644 --- a/src/bin/pg_controldata/po/es.po +++ b/src/bin/pg_controldata/po/es.po @@ -11,7 +11,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:21+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \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:83 #, 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:96 #, 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:105 #, 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:118 ../../common/controldata_utils.c:266 #, 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:154 msgid "byte ordering mismatch" msgstr "discordancia en orden de bytes" -#: ../../common/controldata_utils.c:126 +#: ../../common/controldata_utils.c:156 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -60,17 +60,17 @@ 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:216 #, 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:235 #, 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:254 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" diff --git a/src/bin/pg_ctl/po/es.po b/src/bin/pg_ctl/po/es.po index ea82807aee7..49bd3df0145 100644 --- a/src/bin/pg_ctl/po/es.po +++ b/src/bin/pg_ctl/po/es.po @@ -11,7 +11,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:18+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_ctl/t/001_start_stop.pl b/src/bin/pg_ctl/t/001_start_stop.pl index f019fe1703f..152c29892ef 100644 --- a/src/bin/pg_ctl/t/001_start_stop.pl +++ b/src/bin/pg_ctl/t/001_start_stop.pl @@ -79,7 +79,8 @@ SKIP: { - skip "group access not supported on Windows", 3 if ($windows_os); + skip "group access not supported on Windows", 3 + if ($windows_os || $Config::Config{osname} eq 'cygwin'); system_or_bail 'pg_ctl', 'stop', '-D', "$tempdir/data"; diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index ab351e457e0..958f88d4201 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -1230,10 +1230,13 @@ PrintTOCSummary(Archive *AHX) curSection = SECTION_PRE_DATA; for (te = AH->toc->next; te != AH->toc; te = te->next) { + /* This bit must match ProcessArchiveRestoreOptions' marking logic */ if (te->section != SECTION_NONE) curSection = te->section; + te->reqs = _tocEntryRequired(te, curSection, AH); + /* Now, should we print it? */ if (ropt->verbose || - (_tocEntryRequired(te, curSection, AH) & (REQ_SCHEMA | REQ_DATA)) != 0) + (te->reqs & (REQ_SCHEMA | REQ_DATA)) != 0) { char *sanitized_name; char *sanitized_schema; diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 6e1b070e6fa..1694ff55f89 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -324,6 +324,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); @@ -1252,6 +1253,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. @@ -2114,6 +2122,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) @@ -2225,6 +2237,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; } @@ -2251,6 +2268,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 @@ -2490,6 +2511,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; } @@ -4590,6 +4615,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 @@ -5127,8 +5174,6 @@ binary_upgrade_set_pg_class_oids(Archive *fout, "SELECT pg_catalog.binary_upgrade_set_next_index_relfilenode('%u'::pg_catalog.oid);\n", toast_index_relfilenumber); } - - PQclear(upgrade_res); } else { @@ -5141,6 +5186,8 @@ binary_upgrade_set_pg_class_oids(Archive *fout, relfilenumber); } + PQclear(upgrade_res); + appendPQExpBufferChar(upgrade_buffer, '\n'); destroyPQExpBuffer(upgrade_query); diff --git a/src/bin/pg_dump/po/es.po b/src/bin/pg_dump/po/es.po index ac8e807dbd4..be9694ff6ac 100644 --- a/src/bin/pg_dump/po/es.po +++ b/src/bin/pg_dump/po/es.po @@ -11,7 +11,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:20+0000\n" "PO-Revision-Date: 2023-10-03 16:15+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -572,7 +572,7 @@ 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:276 pg_backup_archiver.c:1606 #, c-format msgid "could not close output file: %m" msgstr "no se pudo cerrar el archivo de salida: %m" @@ -677,330 +677,330 @@ msgstr "habilitando disparadores (triggers) para %s" 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:1290 #, 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:1348 #, 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:1369 pg_backup_tar.c:668 #, 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:1381 #, 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:1386 pg_dump.c:3740 #, 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:1442 #, 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:1470 #, c-format msgid "line ignored: %s" msgstr "línea ignorada: %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1477 #, 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_archiver.c:1500 pg_backup_directory.c:221 #: pg_backup_directory.c:606 #, 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_archiver.c:1587 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 #, 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:1589 pg_backup_custom.c:162 #, 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:1672 #, 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:1678 #, 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:1768 #, c-format msgid "while INITIALIZING:" msgstr "durante INICIALIZACIÓN:" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1773 #, c-format msgid "while PROCESSING TOC:" msgstr "durante PROCESAMIENTO DE TABLA DE CONTENIDOS:" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1778 #, c-format msgid "while FINALIZING:" msgstr "durante FINALIZACIÓN:" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1783 #, 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:1859 #, c-format msgid "bad dumpId" msgstr "dumpId incorrecto" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1880 #, 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:1972 #, c-format msgid "unexpected data offset flag %d" msgstr "bandera de posición inesperada %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:1985 #, 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:2096 #, c-format msgid "directory name too long: \"%s\"" msgstr "nombre de directorio demasiado largo: «%s»" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2146 #, 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_archiver.c:2154 pg_backup_custom.c:173 pg_backup_custom.c:816 #: pg_backup_directory.c:206 pg_backup_directory.c:395 #, 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:2161 pg_backup_custom.c:179 #, 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:2167 #, 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:2169 #, 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:2201 #, 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:2207 #, 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:2213 #, 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:2222 #, 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:2300 #, 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:2345 #, 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:2426 pg_backup_archiver.c:4469 #, 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:2430 pg_backup_archiver.c:4482 #, 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:2551 #, 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:2631 #, 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:2713 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "no se reconoce la codificación: «%s»" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2718 #, c-format msgid "invalid ENCODING item: %s" msgstr "elemento ENCODING no válido: %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2736 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "elemento STDSTRINGS no válido: %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2761 #, c-format msgid "schema \"%s\" not found" msgstr "esquema «%s» no encontrado" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2768 #, c-format msgid "table \"%s\" not found" msgstr "tabla «%s» no encontrada" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2775 #, c-format msgid "index \"%s\" not found" msgstr "índice «%s» no encontrado" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2782 #, c-format msgid "function \"%s\" not found" msgstr "función «%s» no encontrada" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2789 #, c-format msgid "trigger \"%s\" not found" msgstr "disparador «%s» no encontrado" -#: pg_backup_archiver.c:3201 +#: pg_backup_archiver.c:3204 #, 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:3336 #, c-format 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:3397 #, c-format 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:3446 #, c-format 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:3551 #, 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:3773 #, 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:3787 #, 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:3792 #, 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:3796 #, 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:3806 #, 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:3828 #, 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:3864 #, 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:3998 #, c-format msgid "processing item %d %s %s" msgstr "procesando el elemento %d %s %s" -#: pg_backup_archiver.c:4070 +#: pg_backup_archiver.c:4073 #, c-format msgid "entering main parallel loop" msgstr "ingresando al bucle paralelo principal" -#: pg_backup_archiver.c:4081 +#: pg_backup_archiver.c:4084 #, c-format msgid "skipping item %d %s %s" msgstr "saltando el elemento %d %s %s" -#: pg_backup_archiver.c:4090 +#: pg_backup_archiver.c:4093 #, c-format msgid "launching item %d %s %s" msgstr "lanzando el elemento %d %s %s" -#: pg_backup_archiver.c:4144 +#: pg_backup_archiver.c:4147 #, c-format msgid "finished main parallel loop" msgstr "terminó el bucle paralelo principal" -#: pg_backup_archiver.c:4180 +#: pg_backup_archiver.c:4183 #, 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:4788 #, 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" @@ -1087,12 +1087,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:1812 #, 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:1813 #, c-format msgid "server version: %s; %s version: %s" msgstr "versión del servidor: %s; versión de %s: %s" @@ -1102,7 +1102,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:1659 pg_dumpall.c:1761 msgid "Password: " msgstr "Contraseña: " @@ -1117,17 +1117,17 @@ 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_dump_sort.c:1300 pg_dumpall.c:1686 pg_dumpall.c:1770 #, 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:1875 pg_dumpall.c:1898 #, 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:1876 pg_dumpall.c:1899 #, c-format msgid "Query was: %s" msgstr "La consulta era: %s" @@ -1163,7 +1163,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:2224 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "resultados extra inesperados durante el COPY de la tabla «%s»" @@ -1893,7 +1893,7 @@ msgstr "Los volcados en paralelo desde servidores standby no están soportados p 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:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1452 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" @@ -1933,388 +1933,388 @@ msgstr "No está conectado a una base de datos." 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:2099 #, 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:2205 #, 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:2206 pg_dump.c:2216 #, 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:2207 pg_dump.c:2217 #, c-format msgid "Command was: %s" msgstr "La orden era: % s" -#: pg_dump.c:2193 +#: pg_dump.c:2215 #, 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:2297 #, 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:2995 #, c-format msgid "saving database definition" msgstr "salvando las definiciones de la base de datos" -#: pg_dump.c:3078 +#: pg_dump.c:3100 #, c-format msgid "unrecognized locale provider: %s" msgstr "proveedor de configuración regional no reconocido: %s" -#: pg_dump.c:3429 +#: pg_dump.c:3451 #, c-format msgid "saving encoding = %s" msgstr "salvando codificaciones = %s" -#: pg_dump.c:3454 +#: pg_dump.c:3476 #, c-format msgid "saving standard_conforming_strings = %s" msgstr "salvando standard_conforming_strings = %s" -#: pg_dump.c:3493 +#: pg_dump.c:3515 #, 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:3534 #, c-format msgid "saving search_path = %s" msgstr "salvando search_path = %s" -#: pg_dump.c:3549 +#: pg_dump.c:3571 #, c-format msgid "reading large objects" msgstr "leyendo objetos grandes" -#: pg_dump.c:3687 +#: pg_dump.c:3709 #, c-format msgid "saving large objects" msgstr "salvando objetos grandes" -#: pg_dump.c:3728 +#: pg_dump.c:3750 #, 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:3856 #, 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:3997 #, 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:4447 pg_dump.c:4791 pg_dump.c:12022 pg_dump.c:17932 +#: pg_dump.c:17934 pg_dump.c:18555 #, c-format msgid "could not parse %s array" msgstr "no se pudo interpretar el arreglo %s" -#: pg_dump.c:4613 +#: pg_dump.c:4636 #, 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:5183 #, 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:5328 #, 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:6810 pg_dump.c:17196 #, 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:6953 #, 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:7184 pg_dump.c:7455 pg_dump.c:7926 pg_dump.c:8590 pg_dump.c:8709 +#: pg_dump.c:8857 #, c-format msgid "unrecognized table OID %u" msgstr "OID de tabla %u no reconocido" -#: pg_dump.c:7154 +#: pg_dump.c:7188 #, 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:7687 #, 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 +#: 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 "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:8594 #, 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:8623 #, 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:8671 #, c-format msgid "finding table default expressions" msgstr "encontrando expresiones default de tablas" -#: pg_dump.c:8675 +#: pg_dump.c:8713 #, 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:8807 #, c-format msgid "finding table check constraints" msgstr "encontrando restricciones CHECK de tablas" -#: pg_dump.c:8823 +#: pg_dump.c:8861 #, 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:8865 #, 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:9555 #, 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:9667 pg_dump.c:9696 #, 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:10517 #, 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:12091 #, 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:12141 pg_dump.c:14023 #, 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:12271 pg_dump.c:12377 pg_dump.c:12384 #, 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:12310 #, 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:12313 #, 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:12403 #, 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:12420 #, 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:12441 #, 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:12586 #, 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:12756 #, 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:12824 #, 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:13493 pg_dump.c:13552 #, 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:13502 pg_dump.c:13511 pg_dump.c:13521 pg_dump.c:13536 #, c-format msgid "invalid collation \"%s\"" msgstr "ordenamiento \"%s\" no válido" -#: pg_dump.c:13904 +#: pg_dump.c:13942 #, 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:13998 #, 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:14715 #, 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:14731 #, 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:14813 #, 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:14838 #, 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:15379 #, 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:15382 #, 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:15389 #, 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:15473 #, 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:16397 #, 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:16475 #, 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:16477 #, 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:16479 #, 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:16695 #, c-format msgid "missing index for constraint \"%s\"" msgstr "falta un índice para restricción «%s»" -#: pg_dump.c:16892 +#: pg_dump.c:16930 #, 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:17031 pg_dump.c:17260 #, 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:17063 #, c-format msgid "unrecognized sequence type: %s" msgstr "tipo no reconocido de secuencia: %s" -#: pg_dump.c:17314 +#: pg_dump.c:17352 #, c-format msgid "unexpected tgtype value: %d" msgstr "tgtype no esperado: %d" -#: pg_dump.c:17386 +#: pg_dump.c:17424 #, 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:17693 #, 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:17846 #, 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:17936 #, 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:18068 #, c-format msgid "reading dependency data" msgstr "obteniendo datos de dependencias" -#: pg_dump.c:18116 +#: pg_dump.c:18154 #, c-format msgid "no referencing object %u %u" msgstr "no existe el objeto referenciante %u %u" -#: pg_dump.c:18127 +#: pg_dump.c:18165 #, c-format msgid "no referenced object %u %u" msgstr "no existe el objeto referenciado %u %u" @@ -2386,7 +2386,7 @@ msgstr "las opciones -g/--globals-only y -t/--tablespaces-only no pueden usarse 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:469 pg_dumpall.c:1753 #, c-format msgid "could not connect to database \"%s\"" msgstr "no se pudo establecer la conexión a la base de datos «%s»" @@ -2488,62 +2488,62 @@ 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:831 #, 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:1053 #, 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:1188 #, 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:1306 #, 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:1513 #, c-format msgid "excluding database \"%s\"" msgstr "excluyendo base de datos «%s»" -#: pg_dumpall.c:1514 +#: pg_dumpall.c:1517 #, c-format msgid "dumping database \"%s\"" msgstr "extrayendo base de datos «%s»" -#: pg_dumpall.c:1545 +#: pg_dumpall.c:1548 #, 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:1554 #, 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:1595 #, c-format msgid "running \"%s\"" msgstr "ejecutando «%s»" -#: pg_dumpall.c:1793 +#: pg_dumpall.c:1796 #, 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:1799 #, 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:1869 pg_dumpall.c:1892 #, c-format msgid "executing %s" msgstr "ejecutando %s" diff --git a/src/bin/pg_dump/po/ru.po b/src/bin/pg_dump/po/ru.po index c8de3110f73..a3052aac9f6 100644 --- a/src/bin/pg_dump/po/ru.po +++ b/src/bin/pg_dump/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 16:29+0300\n" +"POT-Creation-Date: 2024-08-01 12:51+0300\n" "PO-Revision-Date: 2023-08-30 14:18+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -581,7 +581,7 @@ 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:276 pg_backup_archiver.c:1606 #, c-format msgid "could not close output file: %m" msgstr "не удалось закрыть выходной файл: %m" @@ -695,12 +695,12 @@ msgstr "" "внутренняя ошибка -- WriteData нельзя вызывать вне контекста процедуры " "DataDumper" -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1290 #, c-format msgid "large-object output not supported in chosen format" msgstr "выбранный формат не поддерживает выгрузку больших объектов" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1348 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" @@ -708,55 +708,55 @@ msgstr[0] "восстановлен %d большой объект" msgstr[1] "восстановлено %d больших объекта" msgstr[2] "восстановлено %d больших объектов" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1369 pg_backup_tar.c:668 #, c-format msgid "restoring large object with OID %u" msgstr "восстановление большого объекта с OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1381 #, 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:1386 pg_dump.c:3740 #, c-format msgid "could not open large object %u: %s" msgstr "не удалось открыть большой объект %u: %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1442 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "не удалось открыть файл оглавления \"%s\": %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1470 #, c-format msgid "line ignored: %s" msgstr "строка проигнорирована: %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1477 #, 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_archiver.c:1500 pg_backup_directory.c:221 #: pg_backup_directory.c:606 #, 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_archiver.c:1587 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 #, 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:1589 pg_backup_custom.c:162 #, c-format msgid "could not open output file: %m" msgstr "не удалось открыть выходной файл: %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1672 #, 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 +764,216 @@ msgstr[0] "записан %zu байт данных большого объек msgstr[1] "записано %zu байта данных большого объекта (результат = %d)" msgstr[2] "записано %zu байт данных большого объекта (результат = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1678 #, c-format msgid "could not write to large object: %s" msgstr "не удалось записать данные в большой объект: %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1768 #, c-format msgid "while INITIALIZING:" msgstr "при инициализации:" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1773 #, c-format msgid "while PROCESSING TOC:" msgstr "при обработке оглавления:" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1778 #, c-format msgid "while FINALIZING:" msgstr "при завершении:" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1783 #, 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:1859 #, c-format msgid "bad dumpId" msgstr "неверный dumpId" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1880 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "неверный dumpId таблицы в элементе TABLE DATA" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:1972 #, c-format msgid "unexpected data offset flag %d" msgstr "неожиданный флаг смещения данных: %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:1985 #, c-format msgid "file offset in dump file is too large" msgstr "слишком большое смещение в файле выгрузки" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2096 #, c-format msgid "directory name too long: \"%s\"" msgstr "слишком длинное имя каталога: \"%s\"" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2146 #, 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_archiver.c:2154 pg_backup_custom.c:173 pg_backup_custom.c:816 #: pg_backup_directory.c:206 pg_backup_directory.c:395 #, 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:2161 pg_backup_custom.c:179 #, c-format msgid "could not open input file: %m" msgstr "не удалось открыть входной файл: %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2167 #, c-format msgid "could not read input file: %m" msgstr "не удалось прочитать входной файл: %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2169 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "входной файл слишком короткий (прочитано байт: %lu, ожидалось: 5)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2201 #, 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:2207 #, 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:2213 #, c-format msgid "input file does not appear to be a valid archive" msgstr "входной файл не похож на архив" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2222 #, c-format msgid "could not close input file: %m" msgstr "не удалось закрыть входной файл: %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2300 #, c-format msgid "could not open stdout for appending: %m" msgstr "не удалось открыть stdout для добавления вывода: %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2345 #, c-format msgid "unrecognized file format \"%d\"" msgstr "неопознанный формат файла: \"%d\"" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4466 +#: pg_backup_archiver.c:2426 pg_backup_archiver.c:4469 #, 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:2430 pg_backup_archiver.c:4482 #, c-format msgid "worker process failed: exit code %d" msgstr "рабочий процесс завершился с кодом возврата %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2551 #, 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:2631 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "восстановление таблиц со свойством WITH OIDS больше не поддерживается" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2713 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "нераспознанная кодировка \"%s\"" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2718 #, c-format msgid "invalid ENCODING item: %s" msgstr "неверный элемент ENCODING: %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2736 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "неверный элемент STDSTRINGS: %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2761 #, c-format msgid "schema \"%s\" not found" msgstr "схема \"%s\" не найдена" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2768 #, c-format msgid "table \"%s\" not found" msgstr "таблица \"%s\" не найдена" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2775 #, c-format msgid "index \"%s\" not found" msgstr "индекс \"%s\" не найден" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2782 #, c-format msgid "function \"%s\" not found" msgstr "функция \"%s\" не найдена" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2789 #, c-format msgid "trigger \"%s\" not found" msgstr "триггер \"%s\" не найден" -#: pg_backup_archiver.c:3201 +#: pg_backup_archiver.c:3204 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "не удалось переключить пользователя сеанса на \"%s\": %s" -#: pg_backup_archiver.c:3333 +#: pg_backup_archiver.c:3336 #, c-format msgid "could not set search_path to \"%s\": %s" msgstr "не удалось присвоить search_path значение \"%s\": %s" -#: pg_backup_archiver.c:3394 +#: pg_backup_archiver.c:3397 #, c-format msgid "could not set default_tablespace to %s: %s" msgstr "не удалось задать для default_tablespace значение %s: %s" -#: pg_backup_archiver.c:3443 +#: pg_backup_archiver.c:3446 #, c-format msgid "could not set default_table_access_method: %s" msgstr "не удалось задать default_table_access_method: %s" -#: pg_backup_archiver.c:3548 +#: pg_backup_archiver.c:3551 #, 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:3773 #, c-format msgid "did not find magic string in file header" msgstr "в заголовке файла не найдена нужная сигнатура" -#: pg_backup_archiver.c:3784 +#: pg_backup_archiver.c:3787 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "неподдерживаемая версия (%d.%d) в заголовке файла" -#: pg_backup_archiver.c:3789 +#: pg_backup_archiver.c:3792 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "несоответствие размера integer (%lu)" -#: pg_backup_archiver.c:3793 +#: pg_backup_archiver.c:3796 #, c-format msgid "" "archive was made on a machine with larger integers, some operations might " @@ -982,12 +982,12 @@ msgstr "" "архив был сделан на компьютере большей разрядности -- возможен сбой " "некоторых операций" -#: pg_backup_archiver.c:3803 +#: pg_backup_archiver.c:3806 #, 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:3828 #, c-format msgid "" "archive is compressed, but this installation does not support compression " @@ -996,42 +996,42 @@ msgstr "" "архив сжат, но установленная версия не поддерживает сжатие (%s) -- данные " "будут недоступны" -#: pg_backup_archiver.c:3861 +#: pg_backup_archiver.c:3864 #, c-format msgid "invalid creation date in header" msgstr "неверная дата создания в заголовке" -#: pg_backup_archiver.c:3995 +#: pg_backup_archiver.c:3998 #, c-format msgid "processing item %d %s %s" msgstr "обработка объекта %d %s %s" -#: pg_backup_archiver.c:4070 +#: pg_backup_archiver.c:4073 #, c-format msgid "entering main parallel loop" msgstr "вход в основной параллельный цикл" -#: pg_backup_archiver.c:4081 +#: pg_backup_archiver.c:4084 #, c-format msgid "skipping item %d %s %s" msgstr "объект %d %s %s пропускается" -#: pg_backup_archiver.c:4090 +#: pg_backup_archiver.c:4093 #, c-format msgid "launching item %d %s %s" msgstr "объект %d %s %s запускается" -#: pg_backup_archiver.c:4144 +#: pg_backup_archiver.c:4147 #, c-format msgid "finished main parallel loop" msgstr "основной параллельный цикл закончен" -#: pg_backup_archiver.c:4180 +#: pg_backup_archiver.c:4183 #, c-format msgid "processing missed item %d %s %s" msgstr "обработка пропущенного объекта %d %s %s" -#: pg_backup_archiver.c:4785 +#: pg_backup_archiver.c:4788 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены" diff --git a/src/bin/pg_resetwal/po/es.po b/src/bin/pg_resetwal/po/es.po index cc3e5666478..5fca563b87e 100644 --- a/src/bin/pg_resetwal/po/es.po +++ b/src/bin/pg_resetwal/po/es.po @@ -12,7 +12,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:19+0000\n" "PO-Revision-Date: 2023-10-03 16:16+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_rewind/po/es.po b/src/bin/pg_rewind/po/es.po index af9a810c7c1..2e8c9c8e61d 100644 --- a/src/bin/pg_rewind/po/es.po +++ b/src/bin/pg_rewind/po/es.po @@ -10,7 +10,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:21+0000\n" "PO-Revision-Date: 2023-10-04 11:47+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -264,17 +264,17 @@ msgstr "archivo origen duplicado «%s»" 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:683 filemap.c:777 #, c-format msgid "unknown file type for \"%s\"" msgstr "tipo de archivo desconocido para «%s»" -#: filemap.c:706 +#: filemap.c:710 #, 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:782 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "no se pudo decidir qué hacer con el archivo «%s»" @@ -832,172 +832,157 @@ msgstr "datos no válidos en archivo de historia" 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:621 #, 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:630 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord solicitado por %X/%X" -#: xlogreader.c:676 xlogreader.c:1123 +#: xlogreader.c:671 xlogreader.c:1136 #, 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:760 #, 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:773 #, 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:1144 #, 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:1157 xlogreader.c:1173 #, 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:1211 #, 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:1245 #, 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:1260 xlogreader.c:1302 #, 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:1276 #, 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:1284 #, 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:1290 #, 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:1322 #, 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:1348 #, 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:1754 #, 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:1778 #, 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:1785 #, 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:1821 #, 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:1837 #, 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:1851 #, 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:1866 #, 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:1882 #, 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:1894 #, 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:1961 #, 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:1987 #, 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:2071 #, 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:2078 #, 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:2105 xlogreader.c:2122 #, 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:2131 #, 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:2139 #, 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/t/002_databases.pl b/src/bin/pg_rewind/t/002_databases.pl index 0d480aedb48..01eb9227093 100644 --- a/src/bin/pg_rewind/t/002_databases.pl +++ b/src/bin/pg_rewind/t/002_databases.pl @@ -60,7 +60,7 @@ sub run_test SKIP: { skip "unix-style permissions not supported on Windows", 1 - if ($windows_os); + if ($windows_os || $Config::Config{osname} eq 'cygwin'); ok(check_mode_recursive($node_primary->data_dir(), 0750, 0640), 'check PGDATA permissions'); diff --git a/src/bin/pg_test_fsync/po/es.po b/src/bin/pg_test_fsync/po/es.po index b522bdd5b20..a75361c6148 100644 --- a/src/bin/pg_test_fsync/po/es.po +++ b/src/bin/pg_test_fsync/po/es.po @@ -9,7 +9,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:22+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_test_timing/po/es.po b/src/bin/pg_test_timing/po/es.po index 47cb27d9a0f..1eba8243298 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 12:19+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_upgrade/po/es.po b/src/bin/pg_upgrade/po/es.po index 327cc36f533..dad90afb85b 100644 --- a/src/bin/pg_upgrade/po/es.po +++ b/src/bin/pg_upgrade/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:19+0000\n" +"POT-Creation-Date: 2024-08-01 12:18+0000\n" "PO-Revision-Date: 2023-10-03 16:20+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/bin/pg_upgrade/po/ru.po b/src/bin/pg_upgrade/po/ru.po index a761d483cc2..c03a428487f 100644 --- a/src/bin/pg_upgrade/po/ru.po +++ b/src/bin/pg_upgrade/po/ru.po @@ -1,7 +1,7 @@ # 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, 2023. +# Alexander Lakhin , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Maxim Yablokov , 2021. msgid "" msgstr "" diff --git a/src/bin/pg_upgrade/po/sv.po b/src/bin/pg_upgrade/po/sv.po index 89cfa95e255..b15caea63c6 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" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-25 07:19+0000\n" -"PO-Revision-Date: 2023-08-27 10:30+0200\n" +"POT-Creation-Date: 2024-07-13 16:07+0000\n" +"PO-Revision-Date: 2024-07-14 22:05+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: check.c:69 +#: check.c:72 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" @@ -26,7 +26,7 @@ msgstr "" "Utför konsistenskontroller på gamla live-servern\n" "------------------------------------------------" -#: check.c:75 +#: check.c:78 #, c-format msgid "" "Performing Consistency Checks\n" @@ -35,7 +35,7 @@ msgstr "" "Utför konsistenskontroller\n" "--------------------------" -#: check.c:221 +#: check.c:234 #, c-format msgid "" "\n" @@ -44,7 +44,7 @@ msgstr "" "\n" "*Klustren är kompatibla*" -#: check.c:229 +#: check.c:242 #, c-format msgid "" "\n" @@ -55,7 +55,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:283 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -66,7 +66,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:289 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -75,7 +75,7 @@ msgstr "" "När detta skript körs så raderas gamla klustrets datafiler:\n" " %s" -#: check.c:281 +#: check.c:294 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -88,57 +88,57 @@ msgstr "" "ligger i gamla klusterkatalogen. Det gamla klustrets innehåll\n" "måste raderas för hand." -#: check.c:293 +#: check.c:306 #, c-format msgid "Checking cluster versions" msgstr "Kontrollerar klustrets versioner" -#: check.c:305 +#: check.c:318 #, 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:323 #, 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:332 #, 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:337 #, 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:340 #, 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:355 #, 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:375 #, 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:398 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Letar efter nya tablespace-kataloger i klustret" -#: check.c:396 +#: check.c:409 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "i klustret finns redan ny tablespace-katalog: \"%s\"" -#: check.c:429 +#: check.c:442 #, c-format msgid "" "\n" @@ -147,7 +147,7 @@ msgstr "" "\n" "VARNING: nya datakatalogen skall inte ligga inuti den gamla datakatalogen, dvs. %s" -#: check.c:453 +#: check.c:466 #, c-format msgid "" "\n" @@ -156,61 +156,61 @@ msgstr "" "\n" "VARNING: användardefinierade tabellutrymmens plats skall inte vara i datakatalogen, dvs. %s" -#: check.c:463 +#: check.c:476 #, 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 +#: check.c:479 check.c:652 check.c:768 check.c:863 check.c:992 check.c:1069 +#: check.c:1348 check.c:1422 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:530 #, 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" -#: check.c:537 +#: check.c:550 #, c-format msgid "Checking database user is the install user" msgstr "Kontrollerar att databasanvändaren är installationsanvändaren" -#: check.c:553 +#: check.c:566 #, c-format msgid "database user \"%s\" is not the install user" msgstr "databasanvändare \"%s\" är inte installationsanvändaren" -#: check.c:564 +#: check.c:577 #, c-format msgid "could not determine the number of users" msgstr "kunde inte bestämma antalet användare" -#: check.c:572 +#: check.c:585 #, 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:614 #, c-format msgid "Checking database connection settings" msgstr "Kontrollerar databasens anslutningsinställningar" -#: check.c:627 +#: check.c:640 #, 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:667 check.c:788 check.c:886 check.c:1012 check.c:1089 check.c:1148 +#: check.c:1209 check.c:1238 check.c:1272 check.c:1303 check.c:1362 +#: check.c:1443 function.c:185 version.c:192 version.c:232 version.c:378 #, c-format msgid "fatal" msgstr "fatalt" -#: check.c:655 +#: check.c:668 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -229,27 +229,27 @@ msgstr "" "problemdatabaser finns i filen:\n" " %s" -#: check.c:680 +#: check.c:693 #, c-format msgid "Checking for prepared transactions" msgstr "Letar efter förberedda transaktioner" -#: check.c:689 +#: check.c:702 #, c-format msgid "The source cluster contains prepared transactions" msgstr "Källklustret innehåller förberedda transaktioner" -#: check.c:691 +#: check.c:704 #, c-format msgid "The target cluster contains prepared transactions" msgstr "Målklustret innehåller förberedda transaktioner" -#: check.c:716 +#: check.c:729 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Letar efter contrib/isn med bigint-anropsfel" -#: check.c:776 +#: check.c:789 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -268,12 +268,12 @@ msgstr "" "En lista med problemfunktionerna finns i filen:\n" " %s" -#: check.c:798 +#: check.c:811 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Letar efter användardefinierade postfix-operatorer" -#: check.c:874 +#: check.c:887 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -288,12 +288,12 @@ msgstr "" "En lista med användardefinierade postfix-operatorer finns i filen:\n" " %s" -#: check.c:898 +#: check.c:911 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Letar efter inkompatibla polymorfa funktioner" -#: check.c:1000 +#: check.c:1013 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -314,12 +314,12 @@ msgstr "" "En lista med problemobjekten finns i filen:\n" " %s" -#: check.c:1024 +#: check.c:1037 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Letar efter tabeller med WITH OIDS" -#: check.c:1077 +#: check.c:1090 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -334,13 +334,12 @@ msgstr "" "En lista över tabeller med detta problem finns i filen:\n" " %s" -# FIXME: is this msgid correct? -#: check.c:1105 +#: check.c:1118 #, c-format msgid "Checking for system-defined composite types in user tables" msgstr "Letar i användartabeller efter systemdefinierade typer av sorten \"composite\"" -#: check.c:1136 +#: check.c:1149 #, c-format msgid "" "Your installation contains system-defined composite types in user tables.\n" @@ -358,12 +357,12 @@ msgstr "" " %s" # FIXME: is this msgid correct? -#: check.c:1164 +#: check.c:1177 #, c-format msgid "Checking for reg* data types in user tables" msgstr "Letar efter reg*-datatyper i användartabeller" -#: check.c:1197 +#: check.c:1210 #, c-format msgid "" "Your installation contains one of the reg* data types in user tables.\n" @@ -380,13 +379,12 @@ msgstr "" "En lista med problemkolumner finns i filen:\n" " %s" -# FIXME: is this msgid correct? -#: check.c:1218 +#: check.c:1231 #, c-format -msgid "Checking for incompatible \"aclitem\" data type in user tables" -msgstr "Letar efter inkompatibel \"aclitem\"-datatyp i användartabeller" +msgid "Checking for incompatible \"%s\" data type in user tables" +msgstr "Letar efter inkompatibel \"%s\"-datatyp i användartabeller" -#: check.c:1225 +#: check.c:1239 #, c-format msgid "" "Your installation contains the \"aclitem\" data type in user tables.\n" @@ -403,13 +401,35 @@ msgstr "" "En lista med problemkolumner finns i filen:\n" " %s" +#: check.c:1263 +#, c-format +msgid "Checking for removed \"%s\" data type in user tables" +msgstr "Letar efter borttagen \"%s\"-datatype i användartabeller" + +#: check.c:1273 +#, c-format +msgid "" +"Your installation contains the \"%s\" data type in user tables.\n" +"The \"%s\" type has been removed in PostgreSQL version %s,\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns, or change them to another data type, and restart\n" +"the upgrade. A list of the problem columns is in the file:\n" +" %s" +msgstr "" +"Din installation innehåller \"%s\"-datatypen i användartabeller.\n" +"Typen \"%s\" har tagits bort i PostgreSQL version %s så detta kluster\n" +"kan för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna\n" +"eller byta typ på dem och starta om uppgraderingen.\n" +"En lista med problemkolumner finns i filen:\n" +" %s" + # FIXME: is this msgid correct? -#: check.c:1246 +#: check.c:1295 #, c-format msgid "Checking for incompatible \"jsonb\" data type" msgstr "Letar efter inkompatibel \"jsonb\"-datatyp" -#: check.c:1255 +#: check.c:1304 #, c-format msgid "" "Your installation contains the \"jsonb\" data type in user tables.\n" @@ -426,12 +446,12 @@ msgstr "" "En lista med problemkolumner finns i filen:\n" " %s" -#: check.c:1282 +#: check.c:1331 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Letar efter roller som startar med \"pg_\"" -#: check.c:1314 +#: check.c:1363 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -446,12 +466,12 @@ msgstr "" "En lista med rollerna som startar på \"pg_\" finns i denna fil:\n" " %s" -#: check.c:1334 +#: check.c:1383 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Letar efter användardefinierade teckenkodkonverteringar" -#: check.c:1395 +#: check.c:1444 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -1667,7 +1687,6 @@ 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" @@ -1805,99 +1824,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_verifybackup/po/es.po b/src/bin/pg_verifybackup/po/es.po index 0cb958f3448..97441a0f1ca 100644 --- a/src/bin/pg_verifybackup/po/es.po +++ b/src/bin/pg_verifybackup/po/es.po @@ -8,7 +8,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:16+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-ayuda \n" diff --git a/src/bin/pg_verifybackup/t/003_corruption.pl b/src/bin/pg_verifybackup/t/003_corruption.pl index 4cc3dd05e3e..6490036edf6 100644 --- a/src/bin/pg_verifybackup/t/003_corruption.pl +++ b/src/bin/pg_verifybackup/t/003_corruption.pl @@ -101,7 +101,8 @@ SKIP: { skip "unix-style permissions not supported on Windows", 4 - if $scenario->{'skip_on_windows'} && $windows_os; + if ($scenario->{'skip_on_windows'} && + ($windows_os || $Config::Config{osname} eq 'cygwin')); # Take a backup and check that it verifies OK. my $backup_path = $primary->backup_dir . '/' . $name; diff --git a/src/bin/pg_waldump/po/es.po b/src/bin/pg_waldump/po/es.po index 67a0cf3e2b0..ee384c8ffe6 100644 --- a/src/bin/pg_waldump/po/es.po +++ b/src/bin/pg_waldump/po/es.po @@ -9,7 +9,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:17+0000\n" "PO-Revision-Date: 2023-09-05 07:35+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -55,7 +55,7 @@ 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:199 pg_waldump.c:528 #, c-format msgid "could not open file \"%s\": %m" msgstr "no se pudo abrir el archivo «%s»: %m" @@ -112,17 +112,17 @@ msgstr "%s" msgid "invalid fork number: %u" msgstr "número de “fork” no válido: %u" -#: pg_waldump.c:530 +#: pg_waldump.c:531 #, 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:534 #, 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:754 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -131,17 +131,17 @@ msgstr "" "%s decodifica y muestra segmentos de WAL de PostgreSQL para depuración.\n" "\n" -#: pg_waldump.c:755 +#: pg_waldump.c:756 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_waldump.c:756 +#: pg_waldump.c:757 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [OPCIÓN]... [SEGINICIAL [SEGFINAL]]\n" -#: pg_waldump.c:757 +#: pg_waldump.c:758 #, c-format msgid "" "\n" @@ -150,29 +150,29 @@ msgstr "" "\n" "Opciones:\n" -#: pg_waldump.c:758 +#: pg_waldump.c:759 #, 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:760 #, 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:761 #, 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:762 #, 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:763 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -181,12 +181,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:765 #, 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:766 #, c-format msgid "" " -p, --path=PATH directory in which to find WAL segment files or a\n" @@ -197,12 +197,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:769 #, 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:770 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" @@ -211,17 +211,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:772 #, 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:773 #, 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:774 #, c-format msgid "" " -t, --timeline=TLI timeline from which to read WAL records\n" @@ -230,22 +230,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:776 #, 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:777 #, 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:778 #, 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:779 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -254,17 +254,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:781 #, 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:782 #, 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:783 #, c-format msgid "" "\n" @@ -273,304 +273,289 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_waldump.c:783 +#: pg_waldump.c:784 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_waldump.c:879 +#: pg_waldump.c:880 #, c-format msgid "no arguments specified" msgstr "no se especificó ningún argumento" -#: pg_waldump.c:895 +#: pg_waldump.c:896 #, 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:905 pg_waldump.c:1003 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "ubicación de WAL no válida: «%s»" -#: pg_waldump.c:917 +#: pg_waldump.c:918 #, 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:926 pg_waldump.c:1029 #, 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:957 #, 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:978 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "el gestor de recursos «%s» no existe" -#: pg_waldump.c:992 +#: pg_waldump.c:993 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "especificación de relación no válida: «%s»" -#: pg_waldump.c:993 +#: pg_waldump.c:994 #, 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:1036 #, 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:1051 #, 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:1066 #, 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:1083 #, 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:1090 #, 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 +#: pg_waldump.c:1100 pg_waldump.c:1123 #, 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:1129 pg_waldump.c:1159 #, c-format msgid "could not open file \"%s\"" msgstr "no se pudo abrir el archivo «%s»" -#: pg_waldump.c:1138 +#: pg_waldump.c:1139 #, 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:1166 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "SEGFINAL %s está antes del SEGINICIAL %s" -#: pg_waldump.c:1180 +#: pg_waldump.c:1181 #, 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:1193 #, c-format msgid "no start WAL location given" msgstr "no se especificó posición inicial de WAL" -#: pg_waldump.c:1206 +#: pg_waldump.c:1207 #, 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:1213 #, 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:1223 #, 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" -#: pg_waldump.c:1307 +#: pg_waldump.c:1308 #, 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:1317 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: xlogreader.c:626 +#: xlogreader.c:621 #, 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:630 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord solicitado por %X/%X" -#: xlogreader.c:676 xlogreader.c:1123 +#: xlogreader.c:671 xlogreader.c:1136 #, 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:760 #, 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:773 #, 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:1144 #, 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:1157 xlogreader.c:1173 #, 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:1211 #, 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:1245 #, 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:1260 xlogreader.c:1302 #, 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:1276 #, 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:1284 #, 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:1290 #, 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:1322 #, 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:1348 #, 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:1754 #, 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:1778 #, 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:1785 #, 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:1821 #, 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:1837 #, 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:1851 #, 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:1866 #, 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:1882 #, 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:1894 #, 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:1961 #, 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:1987 #, 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:2071 #, 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" -#: xlogreader.c:2063 +#: xlogreader.c:2078 #, 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" -#: xlogreader.c:2090 xlogreader.c:2107 +#: xlogreader.c:2105 xlogreader.c:2122 #, 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" -#: xlogreader.c:2116 +#: xlogreader.c:2131 #, 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" -#: xlogreader.c:2124 +#: xlogreader.c:2139 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "no se pudo descomprimir imagen en %X/%X, bloque %d" diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl index 8c9a08e4460..afc9ecfaf77 100644 --- a/src/bin/pgbench/t/001_pgbench_with_server.pl +++ b/src/bin/pgbench/t/001_pgbench_with_server.pl @@ -39,6 +39,34 @@ "CREATE TYPE pg_temp.e AS ENUM ($labels); DROP TYPE pg_temp.e;" }); +# Test inplace updates from VACUUM concurrent with heap_update from GRANT. +# The PROC_IN_VACUUM environment can't finish MVCC table scans consistently, +# so this fails rarely. To reproduce consistently, add a sleep after +# GetCatalogSnapshot(non-catalog-rel). +Test::More->builder->todo_start('PROC_IN_VACUUM scan breakage'); +$node->safe_psql('postgres', 'CREATE TABLE ddl_target ()'); +$node->pgbench( + '--no-vacuum --client=5 --protocol=prepared --transactions=50', + 0, + [qr{processed: 250/250}], + [qr{^$}], + 'concurrent GRANT/VACUUM', + { + '001_pgbench_grant@9' => q( + DO $$ + BEGIN + PERFORM pg_advisory_xact_lock(42); + FOR i IN 1 .. 10 LOOP + GRANT SELECT ON ddl_target TO PUBLIC; + REVOKE SELECT ON ddl_target FROM PUBLIC; + END LOOP; + END + $$; +), + '001_pgbench_vacuum_ddl_target@1' => "VACUUM ddl_target;", + }); +Test::More->builder->todo_end; + # Trigger various connection errors $node->pgbench( 'no-such-database', diff --git a/src/bin/psql/po/es.po b/src/bin/psql/po/es.po index 9070c6c90b1..8102139dd5b 100644 --- a/src/bin/psql/po/es.po +++ b/src/bin/psql/po/es.po @@ -12,7 +12,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:17+0000\n" "PO-Revision-Date: 2023-10-04 11:48+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -165,7 +165,7 @@ msgstr "No se puede agregar una celda al contenido de la tabla: la cantidad de c 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»" @@ -257,7 +257,7 @@ msgstr "%s: nombre de codificación no válido o procedimiento de conversión no #: 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 +#: copy.c:486 copy.c:721 help.c:66 large_obj.c:157 large_obj.c:192 #: large_obj.c:254 startup.c:304 #, c-format msgid "%s" @@ -983,11 +983,11 @@ 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:683 msgid "aborted because of read failure" msgstr "se abortó por un error de lectura" -#: copy.c:716 +#: copy.c:717 msgid "trying to exit copy mode" msgstr "tratando de salir del modo copy" @@ -3999,2429 +3999,2431 @@ 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: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 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:1852 +#: sql_help.c:3354 sql_help.c:4479 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: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 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: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 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: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 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:1916 sql_help.c:3355 sql_help.c:4508 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: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 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: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 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: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 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: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 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:952 sql_help.c:1639 sql_help.c:2445 +#: sql_help.c:2672 sql_help.c:3241 sql_help.c:3403 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:2221 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:953 sql_help.c:1640 sql_help.c:2222 +#: sql_help.c:2446 sql_help.c:2673 sql_help.c:3242 msgid "connlimit" msgstr "límite_conexiones" -#: sql_help.c:118 sql_help.c:2219 +#: sql_help.c:118 sql_help.c:2223 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:1323 +#: sql_help.c:1375 sql_help.c:4211 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: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 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: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 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: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 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: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 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: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 msgid "expression" msgstr "expresión" -#: sql_help.c:242 +#: sql_help.c:244 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: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 msgid "constraint_name" msgstr "nombre_restricción" -#: sql_help.c:247 sql_help.c:1315 +#: sql_help.c:249 sql_help.c:1316 msgid "new_constraint_name" msgstr "nuevo_nombre_restricción" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1101 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: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: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: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 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:1851 sql_help.c:4478 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:1853 sql_help.c:2139 sql_help.c:2143 +#: sql_help.c:2145 sql_help.c:3372 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:1854 sql_help.c:2140 sql_help.c:2144 +#: sql_help.c:2146 sql_help.c:3373 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: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 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:781 sql_help.c:1876 sql_help.c:2554 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:717 sql_help.c:721 sql_help.c:725 sql_help.c:1877 +#: sql_help.c:2531 sql_help.c:3496 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:718 sql_help.c:722 sql_help.c:726 sql_help.c:1878 +#: sql_help.c:2532 sql_help.c:3497 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: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 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:1886 sql_help.c:4491 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:1892 sql_help.c:3921 sql_help.c:4497 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: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 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: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 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:2006 sql_help.c:2287 msgid "handler_function" msgstr "función_manejadora" -#: sql_help.c:396 sql_help.c:2284 +#: sql_help.c:398 sql_help.c:2288 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:855 sql_help.c:1005 +#: sql_help.c:1310 sql_help.c:1585 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: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 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:1313 sql_help.c:1695 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:876 sql_help.c:1026 +#: sql_help.c:1329 sql_help.c:1595 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: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 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: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 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:1333 sql_help.c:2342 sql_help.c:2351 +#: sql_help.c:2903 sql_help.c:2919 sql_help.c:2932 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:1351 sql_help.c:4997 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:1353 +#: sql_help.c:1356 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:1360 sql_help.c:2343 sql_help.c:2352 +#: sql_help.c:2904 sql_help.c:2920 sql_help.c:2933 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:1365 +#: sql_help.c:1366 sql_help.c:1367 sql_help.c:1368 sql_help.c:1911 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:1379 sql_help.c:1380 +#: sql_help.c:2344 sql_help.c:2349 sql_help.c:2907 sql_help.c:2930 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:875 sql_help.c:1025 +#: sql_help.c:1554 sql_help.c:2273 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:1027 sql_help.c:2407 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:1028 sql_help.c:2408 msgid "result_rows" msgstr "núm_de_filas" -#: sql_help.c:547 sql_help.c:2405 +#: sql_help.c:549 sql_help.c:2409 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: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 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:1668 sql_help.c:2209 +#: sql_help.c:2729 sql_help.c:3260 sql_help.c:3711 sql_help.c:4731 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:970 sql_help.c:1657 sql_help.c:2728 +#: sql_help.c:3949 sql_help.c:4405 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: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 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:1373 sql_help.c:1383 +#: sql_help.c:1421 sql_help.c:1786 sql_help.c:1789 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: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 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:1874 sql_help.c:4488 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:1359 sql_help.c:2901 msgid "compression_method" msgstr "método_de_compresión" -#: sql_help.c:692 sql_help.c:1373 +#: sql_help.c:694 sql_help.c:1374 msgid "new_access_method" msgstr "nuevo_método_de_acceso" -#: sql_help.c:725 sql_help.c:2531 +#: sql_help.c:727 sql_help.c:2535 msgid "res_proc" msgstr "proc_res" -#: sql_help.c:726 sql_help.c:2532 +#: sql_help.c:728 sql_help.c:2536 msgid "join_proc" msgstr "proc_join" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 +#: sql_help.c:780 sql_help.c:792 sql_help.c:2553 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: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 msgid "op_type" msgstr "tipo_op" -#: sql_help.c:782 sql_help.c:2553 +#: sql_help.c:784 sql_help.c:2557 msgid "sort_family_name" msgstr "nombre_familia_ordenamiento" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 +#: sql_help.c:785 sql_help.c:795 sql_help.c:2558 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:789 sql_help.c:2142 sql_help.c:2562 sql_help.c:3102 +#: sql_help.c:3104 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: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 msgid "table_name" msgstr "nombre_de_tabla" -#: sql_help.c:823 sql_help.c:2584 +#: sql_help.c:825 sql_help.c:2588 msgid "using_expression" msgstr "expresión_using" -#: sql_help.c:824 sql_help.c:2585 +#: sql_help.c:826 sql_help.c:2589 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:899 sql_help.c:901 sql_help.c:903 sql_help.c:2636 msgid "publication_object" msgstr "objeto_de_publicación" -#: sql_help.c:903 sql_help.c:2633 +#: sql_help.c:905 sql_help.c:2637 msgid "publication_parameter" msgstr "parámetro_de_publicación" -#: sql_help.c:909 sql_help.c:2635 +#: sql_help.c:911 sql_help.c:2639 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:954 sql_help.c:1641 sql_help.c:2447 sql_help.c:2674 +#: sql_help.c:3243 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:955 sql_help.c:1642 sql_help.c:2448 sql_help.c:2675 +#: sql_help.c:3244 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: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 msgid "database_name" msgstr "nombre_de_base_de_datos" -#: sql_help.c:1073 sql_help.c:2740 +#: sql_help.c:1075 sql_help.c:2744 msgid "increment" msgstr "incremento" -#: sql_help.c:1074 sql_help.c:2741 +#: sql_help.c:1076 sql_help.c:2745 msgid "minvalue" msgstr "valormin" -#: sql_help.c:1075 sql_help.c:2742 +#: sql_help.c:1077 sql_help.c:2746 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: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 msgid "start" msgstr "inicio" -#: sql_help.c:1077 sql_help.c:1347 +#: sql_help.c:1079 sql_help.c:1348 msgid "restart" msgstr "reinicio" -#: sql_help.c:1078 sql_help.c:2744 +#: sql_help.c:1080 sql_help.c:2748 msgid "cache" msgstr "cache" -#: sql_help.c:1123 +#: sql_help.c:1125 msgid "new_target" msgstr "nuevo_valor" -#: sql_help.c:1142 sql_help.c:2797 +#: sql_help.c:1144 sql_help.c:2801 msgid "conninfo" msgstr "conninfo" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 +#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:2802 msgid "publication_name" msgstr "nombre_de_publicación" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 msgid "publication_option" msgstr "opción_de_publicación" -#: sql_help.c:1156 +#: sql_help.c:1158 msgid "refresh_option" msgstr "opción_refresh" -#: sql_help.c:1161 sql_help.c:2799 +#: sql_help.c:1163 sql_help.c:2803 msgid "subscription_parameter" msgstr "parámetro_de_suscripción" -#: sql_help.c:1164 +#: sql_help.c:1166 msgid "skip_option" msgstr "opción_skip" -#: sql_help.c:1324 sql_help.c:1327 +#: sql_help.c:1325 sql_help.c:1328 msgid "partition_name" msgstr "nombre_de_partición" -#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 +#: sql_help.c:1326 sql_help.c:2353 sql_help.c:2934 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:1395 sql_help.c:2948 msgid "sequence_options" msgstr "opciones_de_secuencia" -#: sql_help.c:1346 +#: sql_help.c:1347 msgid "sequence_option" msgstr "opción_de_secuencia" -#: sql_help.c:1360 +#: sql_help.c:1361 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:1369 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 msgid "rewrite_rule_name" msgstr "nombre_regla_de_reescritura" -#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 +#: sql_help.c:1384 sql_help.c:2365 sql_help.c:2973 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: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 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:1388 sql_help.c:1389 sql_help.c:2369 sql_help.c:2370 +#: sql_help.c:2977 sql_help.c:2978 msgid "numeric_literal" msgstr "literal_numérico" -#: sql_help.c:1389 +#: sql_help.c:1390 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:1393 sql_help.c:2360 sql_help.c:2401 sql_help.c:2610 +#: sql_help.c:2946 msgid "default_expr" msgstr "expr_por_omisión" -#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 +#: sql_help.c:1394 sql_help.c:2361 sql_help.c:2947 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: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 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:1398 sql_help.c:1415 sql_help.c:2951 sql_help.c:2968 msgid "reftable" msgstr "tabla_ref" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 +#: sql_help.c:1399 sql_help.c:1416 sql_help.c:2952 sql_help.c:2969 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: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 msgid "referential_action" msgstr "acción_referencial" -#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 +#: sql_help.c:1402 sql_help.c:2362 sql_help.c:2955 msgid "and table_constraint is:" msgstr "y restricción_de_tabla es:" -#: sql_help.c:1409 sql_help.c:2959 +#: sql_help.c:1410 sql_help.c:2963 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: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 msgid "operator" msgstr "operador" -#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 +#: sql_help.c:1413 sql_help.c:2481 sql_help.c:2966 msgid "predicate" msgstr "predicado" -#: sql_help.c:1418 +#: sql_help.c:1419 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:1422 sql_help.c:2979 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:1427 sql_help.c:2984 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: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 msgid "opclass" msgstr "clase_de_ops" -#: sql_help.c:1430 sql_help.c:2984 +#: sql_help.c:1432 sql_help.c:2475 sql_help.c:2989 +msgid "opclass_parameter" +msgstr "parámetro_opclass" + +#: sql_help.c:1434 sql_help.c:2991 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:1452 sql_help.c:1455 sql_help.c:3028 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:1476 sql_help.c:1479 sql_help.c:1485 sql_help.c:1489 msgid "token_type" msgstr "tipo_de_token" -#: sql_help.c:1473 sql_help.c:1476 +#: sql_help.c:1477 sql_help.c:1480 msgid "dictionary_name" msgstr "nombre_diccionario" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1482 sql_help.c:1486 msgid "old_dictionary" msgstr "diccionario_antiguo" -#: sql_help.c:1479 sql_help.c:1483 +#: sql_help.c:1483 sql_help.c:1487 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:1582 sql_help.c:1596 sql_help.c:1599 sql_help.c:1600 +#: sql_help.c:3181 msgid "attribute_name" msgstr "nombre_atributo" -#: sql_help.c:1579 +#: sql_help.c:1583 msgid "new_attribute_name" msgstr "nuevo_nombre_atributo" -#: sql_help.c:1583 sql_help.c:1587 +#: sql_help.c:1587 sql_help.c:1591 msgid "new_enum_value" msgstr "nuevo_valor_enum" -#: sql_help.c:1584 +#: sql_help.c:1588 msgid "neighbor_enum_value" msgstr "valor_enum_vecino" -#: sql_help.c:1586 +#: sql_help.c:1590 msgid "existing_enum_value" msgstr "valor_enum_existente" -#: sql_help.c:1589 +#: sql_help.c:1593 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: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 msgid "server_name" msgstr "nombre_de_servidor" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 +#: sql_help.c:1701 sql_help.c:1704 sql_help.c:3276 msgid "view_option_name" msgstr "nombre_opción_de_vista" -#: sql_help.c:1698 sql_help.c:3270 +#: sql_help.c:1702 sql_help.c:3277 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:1724 sql_help.c:1725 sql_help.c:4985 sql_help.c:4986 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:1726 sql_help.c:1790 sql_help.c:1982 sql_help.c:3761 +#: sql_help.c:4209 sql_help.c:4987 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: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 msgid "boolean" msgstr "booleano" -#: sql_help.c:1725 sql_help.c:4989 +#: sql_help.c:1729 sql_help.c:5000 msgid "size" msgstr "tamaño" -#: sql_help.c:1726 sql_help.c:4990 +#: sql_help.c:1730 sql_help.c:5001 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:1746 sql_help.c:4747 sql_help.c:4749 sql_help.c:4773 msgid "transaction_mode" msgstr "modo_de_transacción" -#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 +#: sql_help.c:1747 sql_help.c:4750 sql_help.c:4774 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: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 msgid "argument" msgstr "argumento" -#: sql_help.c:1852 +#: sql_help.c:1856 msgid "relation_name" msgstr "nombre_relación" -#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 +#: sql_help.c:1861 sql_help.c:3912 sql_help.c:4368 msgid "domain_name" msgstr "nombre_de_dominio" -#: sql_help.c:1879 +#: sql_help.c:1883 msgid "policy_name" msgstr "nombre_de_política" -#: sql_help.c:1892 +#: sql_help.c:1896 msgid "rule_name" msgstr "nombre_regla" -#: sql_help.c:1911 sql_help.c:4496 +#: sql_help.c:1915 sql_help.c:4507 msgid "string_literal" msgstr "literal_de_cadena" -#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 +#: sql_help.c:1940 sql_help.c:4171 sql_help.c:4421 msgid "transaction_id" msgstr "id_de_transacción" -#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 +#: sql_help.c:1972 sql_help.c:1979 sql_help.c:4034 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:1973 sql_help.c:1980 sql_help.c:2699 sql_help.c:2700 +#: sql_help.c:2701 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: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 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:1978 sql_help.c:2515 sql_help.c:3014 sql_help.c:3278 +#: sql_help.c:3296 sql_help.c:3999 msgid "query" msgstr "consulta" -#: sql_help.c:1979 +#: sql_help.c:1983 msgid "format_name" msgstr "nombre_de_formato" -#: sql_help.c:1981 +#: sql_help.c:1985 msgid "delimiter_character" msgstr "carácter_delimitador" -#: sql_help.c:1982 +#: sql_help.c:1986 msgid "null_string" msgstr "cadena_null" -#: sql_help.c:1983 +#: sql_help.c:1987 msgid "default_string" msgstr "cadena_por_omisión" -#: sql_help.c:1985 +#: sql_help.c:1989 msgid "quote_character" msgstr "carácter_de_comilla" -#: sql_help.c:1986 +#: sql_help.c:1990 msgid "escape_character" msgstr "carácter_de_escape" -#: sql_help.c:1990 +#: sql_help.c:1994 msgid "encoding_name" msgstr "nombre_codificación" -#: sql_help.c:2001 +#: sql_help.c:2005 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:2076 sql_help.c:2095 sql_help.c:2098 msgid "arg_data_type" msgstr "tipo_de_dato_arg" -#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 +#: sql_help.c:2077 sql_help.c:2099 sql_help.c:2107 msgid "sfunc" msgstr "func_transición" -#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 +#: sql_help.c:2078 sql_help.c:2100 sql_help.c:2108 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:2079 sql_help.c:2101 sql_help.c:2109 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:2080 sql_help.c:2102 sql_help.c:2110 msgid "ffunc" msgstr "func_final" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2081 sql_help.c:2111 msgid "combinefunc" msgstr "func_combinación" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2082 sql_help.c:2112 msgid "serialfunc" msgstr "func_serial" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2083 sql_help.c:2113 msgid "deserialfunc" msgstr "func_deserial" -#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 +#: sql_help.c:2084 sql_help.c:2103 sql_help.c:2114 msgid "initial_condition" msgstr "condición_inicial" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2085 sql_help.c:2115 msgid "msfunc" msgstr "func_transición_m" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2086 sql_help.c:2116 msgid "minvfunc" msgstr "func_inv_m" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2087 sql_help.c:2117 msgid "mstate_data_type" msgstr "tipo_de_dato_de_estado_m" -#: sql_help.c:2084 sql_help.c:2114 +#: sql_help.c:2088 sql_help.c:2118 msgid "mstate_data_size" msgstr "tamaño_de_dato_de_estado_m" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2089 sql_help.c:2119 msgid "mffunc" msgstr "func_final_m" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2090 sql_help.c:2120 msgid "minitial_condition" msgstr "condición_inicial_m" -#: sql_help.c:2087 sql_help.c:2117 +#: sql_help.c:2091 sql_help.c:2121 msgid "sort_operator" msgstr "operador_de_ordenamiento" -#: sql_help.c:2100 +#: sql_help.c:2104 msgid "or the old syntax" msgstr "o la sintaxis antigua" -#: sql_help.c:2102 +#: sql_help.c:2106 msgid "base_type" msgstr "tipo_base" -#: sql_help.c:2160 sql_help.c:2209 +#: sql_help.c:2164 sql_help.c:2213 msgid "locale" msgstr "configuración regional" -#: sql_help.c:2161 sql_help.c:2210 +#: sql_help.c:2165 sql_help.c:2214 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2162 sql_help.c:2211 +#: sql_help.c:2166 sql_help.c:2215 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2163 sql_help.c:4463 +#: sql_help.c:2167 sql_help.c:4474 msgid "provider" msgstr "proveedor" -#: sql_help.c:2165 +#: sql_help.c:2169 msgid "rules" msgstr "reglas" -#: sql_help.c:2166 sql_help.c:2271 +#: sql_help.c:2170 sql_help.c:2275 msgid "version" msgstr "versión" -#: sql_help.c:2168 +#: sql_help.c:2172 msgid "existing_collation" msgstr "ordenamiento_existente" -#: sql_help.c:2178 +#: sql_help.c:2182 msgid "source_encoding" msgstr "codificación_origen" -#: sql_help.c:2179 +#: sql_help.c:2183 msgid "dest_encoding" msgstr "codificación_destino" -#: sql_help.c:2206 sql_help.c:3047 +#: sql_help.c:2210 sql_help.c:3054 msgid "template" msgstr "plantilla" -#: sql_help.c:2207 +#: sql_help.c:2211 msgid "encoding" msgstr "codificación" -#: sql_help.c:2208 +#: sql_help.c:2212 msgid "strategy" msgstr "estrategia" -#: sql_help.c:2212 +#: sql_help.c:2216 msgid "icu_locale" msgstr "locale_icu" -#: sql_help.c:2213 +#: sql_help.c:2217 msgid "icu_rules" msgstr "reglas_icu" -#: sql_help.c:2214 +#: sql_help.c:2218 msgid "locale_provider" msgstr "proveedor_locale" -#: sql_help.c:2215 +#: sql_help.c:2219 msgid "collation_version" msgstr "versión_ordenamiento" -#: sql_help.c:2220 +#: sql_help.c:2224 msgid "oid" msgstr "oid" -#: sql_help.c:2240 +#: sql_help.c:2244 msgid "constraint" msgstr "restricción" -#: sql_help.c:2241 +#: sql_help.c:2245 msgid "where constraint is:" msgstr "donde restricción es:" -#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 +#: sql_help.c:2259 sql_help.c:2696 sql_help.c:3127 msgid "event" msgstr "evento" -#: sql_help.c:2256 +#: sql_help.c:2260 msgid "filter_variable" msgstr "variable_de_filtrado" -#: sql_help.c:2257 +#: sql_help.c:2261 msgid "filter_value" msgstr "valor_de_filtrado" -#: sql_help.c:2353 sql_help.c:2939 +#: sql_help.c:2357 sql_help.c:2943 msgid "where column_constraint is:" msgstr "donde restricción_de_columna es:" -#: sql_help.c:2398 +#: sql_help.c:2402 msgid "rettype" msgstr "tipo_ret" -#: sql_help.c:2400 +#: sql_help.c:2404 msgid "column_type" msgstr "tipo_columna" -#: sql_help.c:2409 sql_help.c:2612 +#: sql_help.c:2413 sql_help.c:2616 msgid "definition" msgstr "definición" -#: sql_help.c:2410 sql_help.c:2613 +#: sql_help.c:2414 sql_help.c:2617 msgid "obj_file" msgstr "archivo_obj" -#: sql_help.c:2411 sql_help.c:2614 +#: sql_help.c:2415 sql_help.c:2618 msgid "link_symbol" msgstr "símbolo_enlace" -#: sql_help.c:2412 sql_help.c:2615 +#: sql_help.c:2416 sql_help.c:2619 msgid "sql_body" msgstr "contenido_sql" -#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 +#: sql_help.c:2454 sql_help.c:2681 sql_help.c:3250 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:2470 sql_help.c:2511 sql_help.c:2912 sql_help.c:2925 +#: sql_help.c:2939 sql_help.c:3010 msgid "method" msgstr "método" -#: sql_help.c:2471 -msgid "opclass_parameter" -msgstr "parámetro_opclass" - -#: sql_help.c:2488 +#: sql_help.c:2492 msgid "call_handler" msgstr "manejador_de_llamada" -#: sql_help.c:2489 +#: sql_help.c:2493 msgid "inline_handler" msgstr "manejador_en_línea" -#: sql_help.c:2490 +#: sql_help.c:2494 msgid "valfunction" msgstr "función_val" -#: sql_help.c:2529 +#: sql_help.c:2533 msgid "com_op" msgstr "op_conm" -#: sql_help.c:2530 +#: sql_help.c:2534 msgid "neg_op" msgstr "op_neg" -#: sql_help.c:2548 +#: sql_help.c:2552 msgid "family_name" msgstr "nombre_familia" -#: sql_help.c:2559 +#: sql_help.c:2563 msgid "storage_type" msgstr "tipo_almacenamiento" -#: sql_help.c:2698 sql_help.c:3127 +#: sql_help.c:2702 sql_help.c:3134 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:2722 sql_help.c:2724 msgid "schema_element" msgstr "elemento_de_esquema" -#: sql_help.c:2757 +#: sql_help.c:2761 msgid "server_type" msgstr "tipo_de_servidor" -#: sql_help.c:2758 +#: sql_help.c:2762 msgid "server_version" msgstr "versión_de_servidor" -#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 +#: sql_help.c:2763 sql_help.c:3915 sql_help.c:4371 msgid "fdw_name" msgstr "nombre_fdw" -#: sql_help.c:2776 sql_help.c:2779 +#: sql_help.c:2780 sql_help.c:2783 msgid "statistics_name" msgstr "nombre_de_estadística" -#: sql_help.c:2780 +#: sql_help.c:2784 msgid "statistics_kind" msgstr "tipo_de_estadística" -#: sql_help.c:2796 +#: sql_help.c:2800 msgid "subscription_name" msgstr "nombre_de_suscripción" -#: sql_help.c:2901 +#: sql_help.c:2905 msgid "source_table" msgstr "tabla_origen" -#: sql_help.c:2902 +#: sql_help.c:2906 msgid "like_option" msgstr "opción_de_like" -#: sql_help.c:2968 +#: sql_help.c:2972 msgid "and like_option is:" msgstr "y opción_de_like es:" -#: sql_help.c:3020 +#: sql_help.c:3027 msgid "directory" msgstr "directorio" -#: sql_help.c:3034 +#: sql_help.c:3041 msgid "parser_name" msgstr "nombre_de_parser" -#: sql_help.c:3035 +#: sql_help.c:3042 msgid "source_config" msgstr "config_origen" -#: sql_help.c:3064 +#: sql_help.c:3071 msgid "start_function" msgstr "función_inicio" -#: sql_help.c:3065 +#: sql_help.c:3072 msgid "gettoken_function" msgstr "función_gettoken" -#: sql_help.c:3066 +#: sql_help.c:3073 msgid "end_function" msgstr "función_fin" -#: sql_help.c:3067 +#: sql_help.c:3074 msgid "lextypes_function" msgstr "función_lextypes" -#: sql_help.c:3068 +#: sql_help.c:3075 msgid "headline_function" msgstr "función_headline" -#: sql_help.c:3080 +#: sql_help.c:3087 msgid "init_function" msgstr "función_init" -#: sql_help.c:3081 +#: sql_help.c:3088 msgid "lexize_function" msgstr "función_lexize" -#: sql_help.c:3094 +#: sql_help.c:3101 msgid "from_sql_function_name" msgstr "nombre_de_función_from" -#: sql_help.c:3096 +#: sql_help.c:3103 msgid "to_sql_function_name" msgstr "nombre_de_función_to" -#: sql_help.c:3122 +#: sql_help.c:3129 msgid "referenced_table_name" msgstr "nombre_tabla_referenciada" -#: sql_help.c:3123 +#: sql_help.c:3130 msgid "transition_relation_name" msgstr "nombre_de_relación_de_transición" -#: sql_help.c:3126 +#: sql_help.c:3133 msgid "arguments" msgstr "argumentos" -#: sql_help.c:3178 +#: sql_help.c:3185 msgid "label" msgstr "etiqueta" -#: sql_help.c:3180 +#: sql_help.c:3187 msgid "subtype" msgstr "subtipo" -#: sql_help.c:3181 +#: sql_help.c:3188 msgid "subtype_operator_class" msgstr "clase_de_operador_del_subtipo" -#: sql_help.c:3183 +#: sql_help.c:3190 msgid "canonical_function" msgstr "función_canónica" -#: sql_help.c:3184 +#: sql_help.c:3191 msgid "subtype_diff_function" msgstr "función_diff_del_subtipo" -#: sql_help.c:3185 +#: sql_help.c:3192 msgid "multirange_type_name" msgstr "nombre_de_tipo_de_multirango" -#: sql_help.c:3187 +#: sql_help.c:3194 msgid "input_function" msgstr "función_entrada" -#: sql_help.c:3188 +#: sql_help.c:3195 msgid "output_function" msgstr "función_salida" -#: sql_help.c:3189 +#: sql_help.c:3196 msgid "receive_function" msgstr "función_receive" -#: sql_help.c:3190 +#: sql_help.c:3197 msgid "send_function" msgstr "función_send" -#: sql_help.c:3191 +#: sql_help.c:3198 msgid "type_modifier_input_function" msgstr "función_entrada_del_modificador_de_tipo" -#: sql_help.c:3192 +#: sql_help.c:3199 msgid "type_modifier_output_function" msgstr "función_salida_del_modificador_de_tipo" -#: sql_help.c:3193 +#: sql_help.c:3200 msgid "analyze_function" msgstr "función_analyze" -#: sql_help.c:3194 +#: sql_help.c:3201 msgid "subscript_function" msgstr "función_de_subíndice" -#: sql_help.c:3195 +#: sql_help.c:3202 msgid "internallength" msgstr "largo_interno" -#: sql_help.c:3196 +#: sql_help.c:3203 msgid "alignment" msgstr "alineamiento" -#: sql_help.c:3197 +#: sql_help.c:3204 msgid "storage" msgstr "almacenamiento" -#: sql_help.c:3198 +#: sql_help.c:3205 msgid "like_type" msgstr "como_tipo" -#: sql_help.c:3199 +#: sql_help.c:3206 msgid "category" msgstr "categoría" -#: sql_help.c:3200 +#: sql_help.c:3207 msgid "preferred" msgstr "preferido" -#: sql_help.c:3201 +#: sql_help.c:3208 msgid "default" msgstr "valor_por_omisión" -#: sql_help.c:3202 +#: sql_help.c:3209 msgid "element" msgstr "elemento" -#: sql_help.c:3203 +#: sql_help.c:3210 msgid "delimiter" msgstr "delimitador" -#: sql_help.c:3204 +#: sql_help.c:3211 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: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 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: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 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: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 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:3313 sql_help.c:3796 sql_help.c:4138 sql_help.c:4952 msgid "cursor_name" msgstr "nombre_de_cursor" -#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 +#: sql_help.c:3314 sql_help.c:4002 sql_help.c:4953 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: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 msgid "output_name" msgstr "nombre_de_salida" -#: sql_help.c:3324 +#: sql_help.c:3331 msgid "code" msgstr "código" -#: sql_help.c:3729 +#: sql_help.c:3736 msgid "parameter" msgstr "parámetro" -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 +#: sql_help.c:3759 sql_help.c:3760 sql_help.c:4163 msgid "statement" msgstr "sentencia" -#: sql_help.c:3788 sql_help.c:4126 +#: sql_help.c:3795 sql_help.c:4137 msgid "direction" msgstr "dirección" -#: sql_help.c:3790 sql_help.c:4128 +#: sql_help.c:3797 sql_help.c:4139 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: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 msgid "count" msgstr "cantidad" -#: sql_help.c:3898 sql_help.c:4350 +#: sql_help.c:3905 sql_help.c:4361 msgid "sequence_name" msgstr "nombre_secuencia" -#: sql_help.c:3916 sql_help.c:4368 +#: sql_help.c:3923 sql_help.c:4379 msgid "arg_name" msgstr "nombre_arg" -#: sql_help.c:3917 sql_help.c:4369 +#: sql_help.c:3924 sql_help.c:4380 msgid "arg_type" msgstr "tipo_arg" -#: sql_help.c:3924 sql_help.c:4376 +#: sql_help.c:3931 sql_help.c:4387 msgid "loid" msgstr "loid" -#: sql_help.c:3955 +#: sql_help.c:3962 msgid "remote_schema" msgstr "esquema_remoto" -#: sql_help.c:3958 +#: sql_help.c:3965 msgid "local_schema" msgstr "esquema_local" -#: sql_help.c:3993 +#: sql_help.c:4000 msgid "conflict_target" msgstr "destino_de_conflict" -#: sql_help.c:3994 +#: sql_help.c:4001 msgid "conflict_action" msgstr "acción_de_conflict" -#: sql_help.c:3997 +#: sql_help.c:4004 msgid "where conflict_target can be one of:" msgstr "donde destino_de_conflict puede ser uno de:" -#: sql_help.c:3998 +#: sql_help.c:4005 msgid "index_column_name" msgstr "nombre_de_columna_de_índice" -#: sql_help.c:3999 +#: sql_help.c:4006 msgid "index_expression" msgstr "expresión_de_índice" -#: sql_help.c:4002 +#: sql_help.c:4009 msgid "index_predicate" msgstr "predicado_de_índice" -#: sql_help.c:4004 +#: sql_help.c:4011 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:4017 sql_help.c:4111 sql_help.c:4949 msgid "sub-SELECT" msgstr "sub-SELECT" -#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 +#: sql_help.c:4026 sql_help.c:4152 sql_help.c:4925 msgid "channel" msgstr "canal" -#: sql_help.c:4041 +#: sql_help.c:4048 msgid "lockmode" msgstr "modo_bloqueo" -#: sql_help.c:4042 +#: sql_help.c:4049 msgid "where lockmode is one of:" msgstr "donde modo_bloqueo es uno de:" -#: sql_help.c:4078 +#: sql_help.c:4087 msgid "target_table_name" msgstr "nombre_de_tabla_destino" -#: sql_help.c:4079 +#: sql_help.c:4088 msgid "target_alias" msgstr "alias_de_destino" -#: sql_help.c:4080 +#: sql_help.c:4089 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:4090 sql_help.c:4620 sql_help.c:4877 sql_help.c:5123 msgid "join_condition" msgstr "condición_de_join" -#: sql_help.c:4082 +#: sql_help.c:4091 msgid "when_clause" msgstr "cláusula_when" -#: sql_help.c:4083 +#: sql_help.c:4092 msgid "where data_source is:" msgstr "donde origen_de_datos es:" -#: sql_help.c:4084 +#: sql_help.c:4093 msgid "source_table_name" msgstr "nombre_tabla_origen" -#: sql_help.c:4085 +#: sql_help.c:4094 msgid "source_query" msgstr "consulta_origen" -#: sql_help.c:4086 +#: sql_help.c:4095 msgid "source_alias" msgstr "alias_origen" -#: sql_help.c:4087 +#: sql_help.c:4096 msgid "and when_clause is:" msgstr "y cláusula_when es:" -#: sql_help.c:4089 +#: sql_help.c:4098 msgid "merge_update" msgstr "update_de_merge" -#: sql_help.c:4090 +#: sql_help.c:4099 msgid "merge_delete" msgstr "delete_de_merge" -#: sql_help.c:4092 +#: sql_help.c:4101 msgid "merge_insert" msgstr "insert_de_merge" -#: sql_help.c:4093 +#: sql_help.c:4102 msgid "and merge_insert is:" msgstr "y insert_de_merge es:" -#: sql_help.c:4096 +#: sql_help.c:4105 msgid "and merge_update is:" msgstr "y update_de_merge es:" -#: sql_help.c:4101 +#: sql_help.c:4112 msgid "and merge_delete is:" msgstr "y delete_de_merge es:" -#: sql_help.c:4142 +#: sql_help.c:4153 msgid "payload" msgstr "carga" -#: sql_help.c:4169 +#: sql_help.c:4180 msgid "old_role" msgstr "rol_antiguo" -#: sql_help.c:4170 +#: sql_help.c:4181 msgid "new_role" msgstr "rol_nuevo" -#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 +#: sql_help.c:4220 sql_help.c:4429 sql_help.c:4437 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:4577 sql_help.c:4635 sql_help.c:4834 sql_help.c:4892 +#: sql_help.c:5080 sql_help.c:5138 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:4579 sql_help.c:4682 sql_help.c:4836 sql_help.c:5082 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:4580 sql_help.c:4683 sql_help.c:4837 sql_help.c:5083 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: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 msgid "select" msgstr "select" -#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 +#: sql_help.c:4588 sql_help.c:4845 sql_help.c:5091 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: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 msgid "column_alias" msgstr "alias_de_columna" -#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 +#: sql_help.c:4592 sql_help.c:4849 sql_help.c:5095 msgid "sampling_method" msgstr "método_de_sampleo" -#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 +#: sql_help.c:4594 sql_help.c:4851 sql_help.c:5097 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:4598 sql_help.c:4637 sql_help.c:4855 sql_help.c:4894 +#: sql_help.c:5101 sql_help.c:5140 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: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 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:4618 sql_help.c:4624 sql_help.c:4875 sql_help.c:4881 +#: sql_help.c:5121 sql_help.c:5127 msgid "join_type" msgstr "tipo_de_join" -#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 +#: sql_help.c:4621 sql_help.c:4878 sql_help.c:5124 msgid "join_column" msgstr "columna_de_join" -#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 +#: sql_help.c:4622 sql_help.c:4879 sql_help.c:5125 msgid "join_using_alias" msgstr "join_con_alias" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 +#: sql_help.c:4628 sql_help.c:4885 sql_help.c:5131 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:4636 sql_help.c:4893 sql_help.c:5139 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:4640 sql_help.c:4897 sql_help.c:5143 msgid "values" msgstr "valores" -#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 +#: sql_help.c:4641 sql_help.c:4898 sql_help.c:5144 msgid "insert" msgstr "insert" -#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 +#: sql_help.c:4642 sql_help.c:4899 sql_help.c:5145 msgid "update" msgstr "update" -#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 +#: sql_help.c:4643 sql_help.c:4900 sql_help.c:5146 msgid "delete" msgstr "delete" -#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 +#: sql_help.c:4645 sql_help.c:4902 sql_help.c:5148 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:4647 sql_help.c:4904 sql_help.c:5150 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:4648 sql_help.c:4905 sql_help.c:5151 msgid "cycle_mark_value" msgstr "valor_marca_de_ciclo" -#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +#: sql_help.c:4649 sql_help.c:4906 sql_help.c:5152 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:4650 sql_help.c:4907 sql_help.c:5153 msgid "cycle_path_col_name" msgstr "nombre_col_para_ruta_de_ciclo" -#: sql_help.c:4666 +#: sql_help.c:4677 msgid "new_table" msgstr "nueva_tabla" -#: sql_help.c:4737 +#: sql_help.c:4748 msgid "snapshot_id" msgstr "id_de_snapshot" -#: sql_help.c:5005 +#: sql_help.c:5016 msgid "sort_expression" msgstr "expresión_orden" -#: sql_help.c:5149 sql_help.c:6133 +#: sql_help.c:5160 sql_help.c:6144 msgid "abort the current transaction" msgstr "aborta la transacción en curso" -#: sql_help.c:5155 +#: sql_help.c:5166 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:5172 msgid "change the definition of a collation" msgstr "cambia la definición de un ordenamiento" -#: sql_help.c:5167 +#: sql_help.c:5178 msgid "change the definition of a conversion" msgstr "cambia la definición de una conversión" -#: sql_help.c:5173 +#: sql_help.c:5184 msgid "change a database" msgstr "cambia una base de datos" -#: sql_help.c:5179 +#: sql_help.c:5190 msgid "define default access privileges" msgstr "define privilegios de acceso por omisión" -#: sql_help.c:5185 +#: sql_help.c:5196 msgid "change the definition of a domain" msgstr "cambia la definición de un dominio" -#: sql_help.c:5191 +#: sql_help.c:5202 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:5208 msgid "change the definition of an extension" msgstr "cambia la definición de una extensión" -#: sql_help.c:5203 +#: sql_help.c:5214 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:5220 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:5226 msgid "change the definition of a function" msgstr "cambia la definición de una función" -#: sql_help.c:5221 +#: sql_help.c:5232 msgid "change role name or membership" msgstr "cambiar nombre del rol o membresía" -#: sql_help.c:5227 +#: sql_help.c:5238 msgid "change the definition of an index" msgstr "cambia la definición de un índice" -#: sql_help.c:5233 +#: sql_help.c:5244 msgid "change the definition of a procedural language" msgstr "cambia la definición de un lenguaje procedural" -#: sql_help.c:5239 +#: sql_help.c:5250 msgid "change the definition of a large object" msgstr "cambia la definición de un objeto grande" -#: sql_help.c:5245 +#: sql_help.c:5256 msgid "change the definition of a materialized view" msgstr "cambia la definición de una vista materializada" -#: sql_help.c:5251 +#: sql_help.c:5262 msgid "change the definition of an operator" msgstr "cambia la definición de un operador" -#: sql_help.c:5257 +#: sql_help.c:5268 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:5274 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:5280 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:5286 msgid "change the definition of a procedure" msgstr "cambia la definición de un procedimiento" -#: sql_help.c:5281 +#: sql_help.c:5292 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:5298 sql_help.c:5400 msgid "change a database role" msgstr "cambia un rol de la base de datos" -#: sql_help.c:5293 +#: sql_help.c:5304 msgid "change the definition of a routine" msgstr "cambia la definición de una rutina" -#: sql_help.c:5299 +#: sql_help.c:5310 msgid "change the definition of a rule" msgstr "cambia la definición de una regla" -#: sql_help.c:5305 +#: sql_help.c:5316 msgid "change the definition of a schema" msgstr "cambia la definición de un esquema" -#: sql_help.c:5311 +#: sql_help.c:5322 msgid "change the definition of a sequence generator" msgstr "cambia la definición de un generador secuencial" -#: sql_help.c:5317 +#: sql_help.c:5328 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:5334 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:5340 msgid "change the definition of a subscription" msgstr "cambia la definición de una suscripción" -#: sql_help.c:5335 +#: sql_help.c:5346 msgid "change a server configuration parameter" msgstr "cambia un parámetro de configuración del servidor" -#: sql_help.c:5341 +#: sql_help.c:5352 msgid "change the definition of a table" msgstr "cambia la definición de una tabla" -#: sql_help.c:5347 +#: sql_help.c:5358 msgid "change the definition of a tablespace" msgstr "cambia la definición de un tablespace" -#: sql_help.c:5353 +#: sql_help.c:5364 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:5370 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:5376 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:5382 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:5388 msgid "change the definition of a trigger" msgstr "cambia la definición de un disparador" -#: sql_help.c:5383 +#: sql_help.c:5394 msgid "change the definition of a type" msgstr "cambia la definición de un tipo" -#: sql_help.c:5395 +#: sql_help.c:5406 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:5412 msgid "change the definition of a view" msgstr "cambia la definición de una vista" -#: sql_help.c:5407 +#: sql_help.c:5418 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:5424 sql_help.c:6222 msgid "start a transaction block" msgstr "inicia un bloque de transacción" -#: sql_help.c:5419 +#: sql_help.c:5430 msgid "invoke a procedure" msgstr "invocar un procedimiento" -#: sql_help.c:5425 +#: sql_help.c:5436 msgid "force a write-ahead log checkpoint" msgstr "fuerza un checkpoint de wal" -#: sql_help.c:5431 +#: sql_help.c:5442 msgid "close a cursor" msgstr "cierra un cursor" -#: sql_help.c:5437 +#: sql_help.c:5448 msgid "cluster a table according to an index" msgstr "reordena una tabla siguiendo un índice" -#: sql_help.c:5443 +#: sql_help.c:5454 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:5460 sql_help.c:6018 msgid "commit the current transaction" msgstr "compromete la transacción en curso" -#: sql_help.c:5455 +#: sql_help.c:5466 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:5472 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:5478 msgid "define a new access method" msgstr "define un nuevo método de acceso" -#: sql_help.c:5473 +#: sql_help.c:5484 msgid "define a new aggregate function" msgstr "define una nueva función de agregación" -#: sql_help.c:5479 +#: sql_help.c:5490 msgid "define a new cast" msgstr "define una nueva conversión de tipo" -#: sql_help.c:5485 +#: sql_help.c:5496 msgid "define a new collation" msgstr "define un nuevo ordenamiento" -#: sql_help.c:5491 +#: sql_help.c:5502 msgid "define a new encoding conversion" msgstr "define una nueva conversión de codificación" -#: sql_help.c:5497 +#: sql_help.c:5508 msgid "create a new database" msgstr "crea una nueva base de datos" -#: sql_help.c:5503 +#: sql_help.c:5514 msgid "define a new domain" msgstr "define un nuevo dominio" -#: sql_help.c:5509 +#: sql_help.c:5520 msgid "define a new event trigger" msgstr "define un nuevo disparador por evento" -#: sql_help.c:5515 +#: sql_help.c:5526 msgid "install an extension" msgstr "instala una extensión" -#: sql_help.c:5521 +#: sql_help.c:5532 msgid "define a new foreign-data wrapper" msgstr "define un nuevo conector de datos externos" -#: sql_help.c:5527 +#: sql_help.c:5538 msgid "define a new foreign table" msgstr "define una nueva tabla foránea" -#: sql_help.c:5533 +#: sql_help.c:5544 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:5550 sql_help.c:5610 sql_help.c:5712 msgid "define a new database role" msgstr "define un nuevo rol de la base de datos" -#: sql_help.c:5545 +#: sql_help.c:5556 msgid "define a new index" msgstr "define un nuevo índice" -#: sql_help.c:5551 +#: sql_help.c:5562 msgid "define a new procedural language" msgstr "define un nuevo lenguaje procedural" -#: sql_help.c:5557 +#: sql_help.c:5568 msgid "define a new materialized view" msgstr "define una nueva vista materializada" -#: sql_help.c:5563 +#: sql_help.c:5574 msgid "define a new operator" msgstr "define un nuevo operador" -#: sql_help.c:5569 +#: sql_help.c:5580 msgid "define a new operator class" msgstr "define una nueva clase de operadores" -#: sql_help.c:5575 +#: sql_help.c:5586 msgid "define a new operator family" msgstr "define una nueva familia de operadores" -#: sql_help.c:5581 +#: sql_help.c:5592 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:5598 msgid "define a new procedure" msgstr "define un nuevo procedimiento" -#: sql_help.c:5593 +#: sql_help.c:5604 msgid "define a new publication" msgstr "define una nueva publicación" -#: sql_help.c:5605 +#: sql_help.c:5616 msgid "define a new rewrite rule" msgstr "define una nueva regla de reescritura" -#: sql_help.c:5611 +#: sql_help.c:5622 msgid "define a new schema" msgstr "define un nuevo esquema" -#: sql_help.c:5617 +#: sql_help.c:5628 msgid "define a new sequence generator" msgstr "define un nuevo generador secuencial" -#: sql_help.c:5623 +#: sql_help.c:5634 msgid "define a new foreign server" msgstr "define un nuevo servidor foráneo" -#: sql_help.c:5629 +#: sql_help.c:5640 msgid "define extended statistics" msgstr "define estadísticas extendidas" -#: sql_help.c:5635 +#: sql_help.c:5646 msgid "define a new subscription" msgstr "define una nueva suscripción" -#: sql_help.c:5641 +#: sql_help.c:5652 msgid "define a new table" msgstr "define una nueva tabla" -#: sql_help.c:5647 sql_help.c:6169 +#: sql_help.c:5658 sql_help.c:6180 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:5664 msgid "define a new tablespace" msgstr "define un nuevo tablespace" -#: sql_help.c:5659 +#: sql_help.c:5670 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:5676 msgid "define a new text search dictionary" msgstr "define un nuevo diccionario de búsqueda en texto" -#: sql_help.c:5671 +#: sql_help.c:5682 msgid "define a new text search parser" msgstr "define un nuevo analizador de búsqueda en texto" -#: sql_help.c:5677 +#: sql_help.c:5688 msgid "define a new text search template" msgstr "define una nueva plantilla de búsqueda en texto" -#: sql_help.c:5683 +#: sql_help.c:5694 msgid "define a new transform" msgstr "define una nueva transformación" -#: sql_help.c:5689 +#: sql_help.c:5700 msgid "define a new trigger" msgstr "define un nuevo disparador" -#: sql_help.c:5695 +#: sql_help.c:5706 msgid "define a new data type" msgstr "define un nuevo tipo de datos" -#: sql_help.c:5707 +#: sql_help.c:5718 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:5724 msgid "define a new view" msgstr "define una nueva vista" -#: sql_help.c:5719 +#: sql_help.c:5730 msgid "deallocate a prepared statement" msgstr "elimina una sentencia preparada" -#: sql_help.c:5725 +#: sql_help.c:5736 msgid "define a cursor" msgstr "define un nuevo cursor" -#: sql_help.c:5731 +#: sql_help.c:5742 msgid "delete rows of a table" msgstr "elimina filas de una tabla" -#: sql_help.c:5737 +#: sql_help.c:5748 msgid "discard session state" msgstr "descartar datos de la sesión" -#: sql_help.c:5743 +#: sql_help.c:5754 msgid "execute an anonymous code block" msgstr "ejecutar un bloque anónimo de código" -#: sql_help.c:5749 +#: sql_help.c:5760 msgid "remove an access method" msgstr "elimina un método de acceso" -#: sql_help.c:5755 +#: sql_help.c:5766 msgid "remove an aggregate function" msgstr "elimina una función de agregación" -#: sql_help.c:5761 +#: sql_help.c:5772 msgid "remove a cast" msgstr "elimina una conversión de tipo" -#: sql_help.c:5767 +#: sql_help.c:5778 msgid "remove a collation" msgstr "elimina un ordenamiento" -#: sql_help.c:5773 +#: sql_help.c:5784 msgid "remove a conversion" msgstr "elimina una conversión de codificación" -#: sql_help.c:5779 +#: sql_help.c:5790 msgid "remove a database" msgstr "elimina una base de datos" -#: sql_help.c:5785 +#: sql_help.c:5796 msgid "remove a domain" msgstr "elimina un dominio" -#: sql_help.c:5791 +#: sql_help.c:5802 msgid "remove an event trigger" msgstr "elimina un disparador por evento" -#: sql_help.c:5797 +#: sql_help.c:5808 msgid "remove an extension" msgstr "elimina una extensión" -#: sql_help.c:5803 +#: sql_help.c:5814 msgid "remove a foreign-data wrapper" msgstr "elimina un conector de datos externos" -#: sql_help.c:5809 +#: sql_help.c:5820 msgid "remove a foreign table" msgstr "elimina una tabla foránea" -#: sql_help.c:5815 +#: sql_help.c:5826 msgid "remove a function" msgstr "elimina una función" -#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 +#: sql_help.c:5832 sql_help.c:5898 sql_help.c:6000 msgid "remove a database role" msgstr "elimina un rol de base de datos" -#: sql_help.c:5827 +#: sql_help.c:5838 msgid "remove an index" msgstr "elimina un índice" -#: sql_help.c:5833 +#: sql_help.c:5844 msgid "remove a procedural language" msgstr "elimina un lenguaje procedural" -#: sql_help.c:5839 +#: sql_help.c:5850 msgid "remove a materialized view" msgstr "elimina una vista materializada" -#: sql_help.c:5845 +#: sql_help.c:5856 msgid "remove an operator" msgstr "elimina un operador" -#: sql_help.c:5851 +#: sql_help.c:5862 msgid "remove an operator class" msgstr "elimina una clase de operadores" -#: sql_help.c:5857 +#: sql_help.c:5868 msgid "remove an operator family" msgstr "elimina una familia de operadores" -#: sql_help.c:5863 +#: sql_help.c:5874 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:5880 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:5886 msgid "remove a procedure" msgstr "elimina un procedimiento" -#: sql_help.c:5881 +#: sql_help.c:5892 msgid "remove a publication" msgstr "elimina una publicación" -#: sql_help.c:5893 +#: sql_help.c:5904 msgid "remove a routine" msgstr "elimina una rutina" -#: sql_help.c:5899 +#: sql_help.c:5910 msgid "remove a rewrite rule" msgstr "elimina una regla de reescritura" -#: sql_help.c:5905 +#: sql_help.c:5916 msgid "remove a schema" msgstr "elimina un esquema" -#: sql_help.c:5911 +#: sql_help.c:5922 msgid "remove a sequence" msgstr "elimina un generador secuencial" -#: sql_help.c:5917 +#: sql_help.c:5928 msgid "remove a foreign server descriptor" msgstr "elimina un descriptor de servidor foráneo" -#: sql_help.c:5923 +#: sql_help.c:5934 msgid "remove extended statistics" msgstr "elimina estadísticas extendidas" -#: sql_help.c:5929 +#: sql_help.c:5940 msgid "remove a subscription" msgstr "elimina una suscripción" -#: sql_help.c:5935 +#: sql_help.c:5946 msgid "remove a table" msgstr "elimina una tabla" -#: sql_help.c:5941 +#: sql_help.c:5952 msgid "remove a tablespace" msgstr "elimina un tablespace" -#: sql_help.c:5947 +#: sql_help.c:5958 msgid "remove a text search configuration" msgstr "elimina una configuración de búsqueda en texto" -#: sql_help.c:5953 +#: sql_help.c:5964 msgid "remove a text search dictionary" msgstr "elimina un diccionario de búsqueda en texto" -#: sql_help.c:5959 +#: sql_help.c:5970 msgid "remove a text search parser" msgstr "elimina un analizador de búsqueda en texto" -#: sql_help.c:5965 +#: sql_help.c:5976 msgid "remove a text search template" msgstr "elimina una plantilla de búsqueda en texto" -#: sql_help.c:5971 +#: sql_help.c:5982 msgid "remove a transform" msgstr "elimina una transformación" -#: sql_help.c:5977 +#: sql_help.c:5988 msgid "remove a trigger" msgstr "elimina un disparador" -#: sql_help.c:5983 +#: sql_help.c:5994 msgid "remove a data type" msgstr "elimina un tipo de datos" -#: sql_help.c:5995 +#: sql_help.c:6006 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:6012 msgid "remove a view" msgstr "elimina una vista" -#: sql_help.c:6013 +#: sql_help.c:6024 msgid "execute a prepared statement" msgstr "ejecuta una sentencia preparada" -#: sql_help.c:6019 +#: sql_help.c:6030 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:6036 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:6042 msgid "define access privileges" msgstr "define privilegios de acceso" -#: sql_help.c:6037 +#: sql_help.c:6048 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:6054 msgid "create new rows in a table" msgstr "crea nuevas filas en una tabla" -#: sql_help.c:6049 +#: sql_help.c:6060 msgid "listen for a notification" msgstr "escucha notificaciones" -#: sql_help.c:6055 +#: sql_help.c:6066 msgid "load a shared library file" msgstr "carga un archivo de biblioteca compartida" -#: sql_help.c:6061 +#: sql_help.c:6072 msgid "lock a table" msgstr "bloquea una tabla" -#: sql_help.c:6067 +#: sql_help.c:6078 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:6084 msgid "position a cursor" msgstr "reposiciona un cursor" -#: sql_help.c:6079 +#: sql_help.c:6090 msgid "generate a notification" msgstr "genera una notificación" -#: sql_help.c:6085 +#: sql_help.c:6096 msgid "prepare a statement for execution" msgstr "prepara una sentencia para ejecución" -#: sql_help.c:6091 +#: sql_help.c:6102 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:6108 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:6114 msgid "replace the contents of a materialized view" msgstr "reemplaza los contenidos de una vista materializada" -#: sql_help.c:6109 +#: sql_help.c:6120 msgid "rebuild indexes" msgstr "reconstruye índices" -#: sql_help.c:6115 +#: sql_help.c:6126 msgid "release a previously defined savepoint" msgstr "libera un “savepoint” definido previamente" -#: sql_help.c:6121 +#: sql_help.c:6132 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:6138 msgid "remove access privileges" msgstr "revoca privilegios de acceso" -#: sql_help.c:6139 +#: sql_help.c:6150 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:6156 msgid "roll back to a savepoint" msgstr "descartar hacia un “savepoint”" -#: sql_help.c:6151 +#: sql_help.c:6162 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:6168 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:6174 sql_help.c:6228 sql_help.c:6264 msgid "retrieve rows from a table or view" msgstr "recupera filas desde una tabla o vista" -#: sql_help.c:6175 +#: sql_help.c:6186 msgid "change a run-time parameter" msgstr "cambia un parámetro de configuración" -#: sql_help.c:6181 +#: sql_help.c:6192 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:6198 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:6204 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:6210 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:6216 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:6234 msgid "empty a table or set of tables" msgstr "vacía una tabla o conjunto de tablas" -#: sql_help.c:6229 +#: sql_help.c:6240 msgid "stop listening for a notification" msgstr "deja de escuchar una notificación" -#: sql_help.c:6235 +#: sql_help.c:6246 msgid "update rows of a table" msgstr "actualiza filas de una tabla" -#: sql_help.c:6241 +#: sql_help.c:6252 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:6258 msgid "compute a set of rows" msgstr "calcula un conjunto de registros" diff --git a/src/bin/psql/po/ru.po b/src/bin/psql/po/ru.po index 05076bf44ea..b0b5f8aefbf 100644 --- a/src/bin/psql/po/ru.po +++ b/src/bin/psql/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 16:29+0300\n" +"POT-Creation-Date: 2024-08-01 12:51+0300\n" "PO-Revision-Date: 2023-08-29 13:37+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -166,7 +166,7 @@ msgstr "" msgid "invalid output format (internal error): %d" msgstr "неверный формат вывода (внутренняя ошибка): %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:718 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "рекурсивное расширение переменной \"%s\" пропускается" diff --git a/src/bin/scripts/po/es.po b/src/bin/scripts/po/es.po index 82ffa207556..9e464fd7bde 100644 --- a/src/bin/scripts/po/es.po +++ b/src/bin/scripts/po/es.po @@ -12,7 +12,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:20+0000\n" "PO-Revision-Date: 2023-10-03 16:25+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -100,12 +100,22 @@ 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/parallel_slot.c:317 #, c-format -msgid "too many jobs for this platform" -msgstr "demasiados procesos para esta plataforma" +msgid "too many jobs for this platform: %d" +msgstr "demasiados procesos para esta plataforma: %d" -#: ../../fe_utils/parallel_slot.c:520 +#: ../../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" diff --git a/src/bin/scripts/po/sv.po b/src/bin/scripts/po/sv.po index 5003a9397bd..dd7a31784ef 100644 --- a/src/bin/scripts/po/sv.po +++ b/src/bin/scripts/po/sv.po @@ -1,5 +1,5 @@ # 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. # @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\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-13 16:08+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" @@ -94,12 +94,22 @@ 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/parallel_slot.c:317 #, c-format -msgid "too many jobs for this platform" -msgstr "för många jobb för denna plattform" +msgid "too many jobs for this platform: %d" +msgstr "för många jobb för denna plattform: %d" -#: ../../fe_utils/parallel_slot.c:520 +#: ../../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" @@ -190,18 +200,18 @@ msgstr "" "\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 +#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1151 +#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157 #, 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 +#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158 #, c-format msgid "" "\n" @@ -251,7 +261,7 @@ 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 +#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187 #, c-format msgid "" "\n" @@ -260,32 +270,32 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1182 +#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188 #, 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:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189 #, 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:279 dropdb.c:184 vacuumdb.c:1190 #, 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:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191 #, 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:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192 #, 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:282 dropdb.c:187 vacuumdb.c:1193 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAMN annat val av underhållsdatabas\n" @@ -300,7 +310,7 @@ msgstr "" "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 +#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195 #, c-format msgid "" "\n" @@ -310,7 +320,7 @@ msgstr "" "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 +#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" @@ -1093,17 +1103,17 @@ msgstr "%s: processar databasen \"%s\": %s\n" msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: städar databasen \"%s\".\n" -#: vacuumdb.c:1138 +#: vacuumdb.c:1144 #, 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:1147 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "städning av databasen \"%s\" misslyckades: %s" -#: vacuumdb.c:1149 +#: vacuumdb.c:1155 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1112,134 +1122,134 @@ msgstr "" "%s städar och analyserar en PostgreSQL-databas.\n" "\n" -#: vacuumdb.c:1153 +#: vacuumdb.c:1159 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all städa i alla databaser\n" -#: vacuumdb.c:1154 +#: vacuumdb.c:1160 #, 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:1161 #, 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:1162 #, 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:1163 #, 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:1164 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full utför full städning\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1165 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr " -F, --freeze frys information om radtransaktioner\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1166 #, 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:1167 #, 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:1168 #, 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:1169 #, 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:1170 #, 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:1171 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main skippa huvudrelationen\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1172 #, 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:1173 #, 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:1174 #, 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:1175 #, 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:1176 #, 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:1177 #, 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:1178 #, 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:1179 #, 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:1180 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose skriv massor med utdata\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1181 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1182 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze uppdatera optimeringsstatistik\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1183 #, 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:1184 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" @@ -1248,12 +1258,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:1186 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: vacuumdb.c:1188 +#: vacuumdb.c:1194 #, c-format msgid "" "\n" @@ -1261,15 +1271,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/t/080_pg_isready.pl b/src/bin/scripts/t/080_pg_isready.pl index 8f53aef5737..d205ecadb2e 100644 --- a/src/bin/scripts/t/080_pg_isready.pl +++ b/src/bin/scripts/t/080_pg_isready.pl @@ -12,10 +12,11 @@ program_version_ok('pg_isready'); program_options_handling_ok('pg_isready'); -command_fails(['pg_isready'], 'fails with no server running'); - my $node = PostgreSQL::Test::Cluster->new('main'); $node->init; + +$node->command_fails(['pg_isready'], 'fails with no server running'); + $node->start; $node->command_ok( diff --git a/src/common/jsonapi.c b/src/common/jsonapi.c index 2e86589cfd8..07f69285ade 100644 --- a/src/common/jsonapi.c +++ b/src/common/jsonapi.c @@ -721,8 +721,8 @@ json_lex_string(JsonLexContext *lex) } while (0) #define FAIL_AT_CHAR_END(code) \ do { \ - lex->token_terminator = \ - s + pg_encoding_mblen_bounded(lex->input_encoding, s); \ + char *term = s + pg_encoding_mblen(lex->input_encoding, s); \ + lex->token_terminator = (term <= end) ? term : end; \ return code; \ } while (0) diff --git a/src/fe_utils/psqlscan.l b/src/fe_utils/psqlscan.l index 84754aca4a9..1be5a9f10b8 100644 --- a/src/fe_utils/psqlscan.l +++ b/src/fe_utils/psqlscan.l @@ -343,7 +343,7 @@ octfail 0[oO]_? binfail 0[bB]_? numeric (({decinteger}\.{decinteger}?)|(\.{decinteger})) -numericfail {decdigit}+\.\. +numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] @@ -355,8 +355,9 @@ bininteger_junk {bininteger}{ident_start} numeric_junk {numeric}{ident_start} real_junk {real}{ident_start} -param \${decinteger} -param_junk \${decinteger}{ident_start} +/* Positional parameters don't accept underscores. */ +param \${decdigit}+ +param_junk \${decdigit}+{ident_start} /* psql-specific: characters allowed in variable names */ variable_char [A-Za-z\200-\377_0-9] diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h index faf50265191..c7278219b24 100644 --- a/src/include/access/heapam.h +++ b/src/include/access/heapam.h @@ -285,6 +285,7 @@ extern TransactionId heap_index_delete_tuples(Relation rel, struct GlobalVisState; extern void heap_page_prune_opt(Relation relation, Buffer buffer); extern int heap_page_prune(Relation relation, Buffer buffer, + TransactionId oldest_xmin, struct GlobalVisState *vistest, TransactionId old_snap_xmin, TimestampTz old_snap_ts, diff --git a/src/include/access/heapam_xlog.h b/src/include/access/heapam_xlog.h index a038450787e..db65621cf34 100644 --- a/src/include/access/heapam_xlog.h +++ b/src/include/access/heapam_xlog.h @@ -310,7 +310,6 @@ typedef struct xl_heap_confirm typedef struct xl_heap_inplace { OffsetNumber offnum; /* updated tuple's offset on page */ - /* TUPLE DATA FOLLOWS AT END OF STRUCT */ } xl_heap_inplace; #define SizeOfHeapInplace (offsetof(xl_heap_inplace, offnum) + sizeof(OffsetNumber)) diff --git a/src/include/access/spgist_private.h b/src/include/access/spgist_private.h index c6ef46fc206..0af801b75ba 100644 --- a/src/include/access/spgist_private.h +++ b/src/include/access/spgist_private.h @@ -421,7 +421,8 @@ typedef struct SpGistLeafTupleData * field, to satisfy some Asserts that we make when replacing a leaf tuple * with a dead tuple. * We don't use t_info, but it's needed to align the pointer field. - * pointer and xid are only valid when tupstate = REDIRECT. + * pointer and xid are only valid when tupstate = REDIRECT, and in some + * cases xid can be InvalidTransactionId even then; see initSpGistState. */ typedef struct SpGistDeadTupleData { diff --git a/src/include/catalog/catalog.h b/src/include/catalog/catalog.h index 48b0fdc61a5..7ee8914be19 100644 --- a/src/include/catalog/catalog.h +++ b/src/include/catalog/catalog.h @@ -21,11 +21,13 @@ extern bool IsSystemRelation(Relation relation); extern bool IsToastRelation(Relation relation); extern bool IsCatalogRelation(Relation relation); +extern bool IsInplaceUpdateRelation(Relation relation); extern bool IsSystemClass(Oid relid, Form_pg_class reltuple); extern bool IsToastClass(Form_pg_class reltuple); extern bool IsCatalogRelationOid(Oid relid); +extern bool IsInplaceUpdateOid(Oid relid); extern bool IsCatalogNamespace(Oid namespaceId); extern bool IsToastNamespace(Oid namespaceId); diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index 5fc900737d8..31c188176b7 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -110,6 +110,8 @@ extern bool innerrel_is_unique(PlannerInfo *root, */ extern Plan *set_plan_references(PlannerInfo *root, Plan *plan); extern bool trivial_subqueryscan(SubqueryScan *plan); +extern Param *find_minmax_agg_replacement_param(PlannerInfo *root, + Aggref *aggref); extern void record_plan_function_dependency(PlannerInfo *root, Oid funcid); extern void record_plan_type_dependency(PlannerInfo *root, Oid typid); extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *context); diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 174544630e3..cb380c96e26 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -400,6 +400,9 @@ /* Define to 1 if you have the `SSL_CTX_set_cert_cb' function. */ #undef HAVE_SSL_CTX_SET_CERT_CB +/* Define to 1 if you have the `SSL_CTX_set_num_tickets' function. */ +#undef HAVE_SSL_CTX_SET_NUM_TICKETS + /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H diff --git a/src/include/regex/regex.h b/src/include/regex/regex.h index d08113724f6..f34ee3a85bd 100644 --- a/src/include/regex/regex.h +++ b/src/include/regex/regex.h @@ -1,5 +1,5 @@ -#ifndef _REGEX_H_ -#define _REGEX_H_ /* never again */ +#ifndef _PG_REGEX_H_ +#define _PG_REGEX_H_ /* never again */ /* * regular expressions * @@ -32,6 +32,84 @@ * src/include/regex/regex.h */ +/* + * This is an implementation of POSIX regex_t, so it clashes with the + * system-provided header. That header might be unintentionally + * included already, so we force that to happen now on all systems to show that + * we can cope and that we completely replace the system regex interfaces. + * + * Note that we avoided using _REGEX_H_ as an include guard, as that confuses + * matters on BSD family systems including macOS that use the same include + * guard. + */ +#ifndef _WIN32 +#include +#endif + +/* Avoid redefinition errors due to the system header. */ +#undef REG_UBACKREF +#undef REG_ULOOKAROUND +#undef REG_UBOUNDS +#undef REG_UBRACES +#undef REG_UBSALNUM +#undef REG_UPBOTCH +#undef REG_UBBS +#undef REG_UNONPOSIX +#undef REG_UUNSPEC +#undef REG_UUNPORT +#undef REG_ULOCALE +#undef REG_UEMPTYMATCH +#undef REG_UIMPOSSIBLE +#undef REG_USHORTEST +#undef REG_BASIC +#undef REG_EXTENDED +#undef REG_ADVF +#undef REG_ADVANCED +#undef REG_QUOTE +#undef REG_NOSPEC +#undef REG_ICASE +#undef REG_NOSUB +#undef REG_EXPANDED +#undef REG_NLSTOP +#undef REG_NLANCH +#undef REG_NEWLINE +#undef REG_PEND +#undef REG_EXPECT +#undef REG_BOSONLY +#undef REG_DUMP +#undef REG_FAKE +#undef REG_PROGRESS +#undef REG_NOTBOL +#undef REG_NOTEOL +#undef REG_STARTEND +#undef REG_FTRACE +#undef REG_MTRACE +#undef REG_SMALL +#undef REG_OKAY +#undef REG_NOMATCH +#undef REG_BADPAT +#undef REG_ECOLLATE +#undef REG_ECTYPE +#undef REG_EESCAPE +#undef REG_ESUBREG +#undef REG_EBRACK +#undef REG_EPAREN +#undef REG_EBRACE +#undef REG_BADBR +#undef REG_ERANGE +#undef REG_ESPACE +#undef REG_BADRPT +#undef REG_ASSERT +#undef REG_INVARG +#undef REG_MIXED +#undef REG_BADOPT +#undef REG_ETOOBIG +#undef REG_ECOLORS +#undef REG_ATOI +#undef REG_ITOA +#undef REG_PREFIX +#undef REG_EXACT + /* * Add your own defines, if needed, here. */ @@ -45,7 +123,7 @@ * regoff_t has to be large enough to hold either off_t or ssize_t, * and must be signed; it's only a guess that long is suitable. */ -typedef long regoff_t; +typedef long pg_regoff_t; /* * other interface types @@ -79,19 +157,19 @@ typedef struct /* the rest is opaque pointers to hidden innards */ char *re_guts; /* `char *' is more portable than `void *' */ char *re_fns; -} regex_t; +} pg_regex_t; /* result reporting (may acquire more fields later) */ typedef struct { - regoff_t rm_so; /* start of substring */ - regoff_t rm_eo; /* end of substring */ -} regmatch_t; + pg_regoff_t rm_so; /* start of substring */ + pg_regoff_t rm_eo; /* end of substring */ +} pg_regmatch_t; /* supplementary control and reporting */ typedef struct { - regmatch_t rm_extend; /* see REG_EXPECT */ + pg_regmatch_t rm_extend; /* see REG_EXPECT */ } rm_detail_t; @@ -164,6 +242,11 @@ typedef struct #define REG_EXACT (-2) /* identified an exact match */ +/* Redirect the standard typenames to our typenames. */ +#define regoff_t pg_regoff_t +#define regex_t pg_regex_t +#define regmatch_t pg_regmatch_t + /* * the prototypes for exported functions @@ -186,4 +269,4 @@ extern bool RE_compile_and_execute(text *text_re, char *dat, int dat_len, int cflags, Oid collation, int nmatch, regmatch_t *pmatch); -#endif /* _REGEX_H_ */ +#endif /* _PG_REGEX_H_ */ diff --git a/src/include/replication/logical.h b/src/include/replication/logical.h index 5f49554ea05..68d1c37230a 100644 --- a/src/include/replication/logical.h +++ b/src/include/replication/logical.h @@ -109,6 +109,12 @@ typedef struct LogicalDecodingContext TransactionId write_xid; /* Are we processing the end LSN of a transaction? */ bool end_xact; + + /* + * True if the logical decoding context being used for the creation + * of a logical replication slot. + */ + bool in_create; } LogicalDecodingContext; diff --git a/src/include/storage/lmgr.h b/src/include/storage/lmgr.h index 8ab833d1d4a..555d7fdb347 100644 --- a/src/include/storage/lmgr.h +++ b/src/include/storage/lmgr.h @@ -48,6 +48,8 @@ extern bool ConditionalLockRelation(Relation relation, LOCKMODE lockmode); extern void UnlockRelation(Relation relation, LOCKMODE lockmode); extern bool CheckRelationLockedByMe(Relation relation, LOCKMODE lockmode, bool orstronger); +extern bool CheckRelationOidLockedByMe(Oid relid, LOCKMODE lockmode, + bool orstronger); extern bool LockHasWaitersRelation(Relation relation, LOCKMODE lockmode); extern void LockRelationIdForSession(LockRelId *relid, LOCKMODE lockmode); diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h index 8575bea25c7..f67056a82b5 100644 --- a/src/include/storage/lock.h +++ b/src/include/storage/lock.h @@ -569,6 +569,7 @@ extern void LockReleaseSession(LOCKMETHODID lockmethodid); extern void LockReleaseCurrentOwner(LOCALLOCK **locallocks, int nlocks); extern void LockReassignCurrentOwner(LOCALLOCK **locallocks, int nlocks); extern bool LockHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode); +extern bool LockOrStrongerHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode); #ifdef USE_ASSERT_CHECKING extern HTAB *GetLockMethodLocalHash(void); #endif diff --git a/src/include/storage/standby.h b/src/include/storage/standby.h index e8f50569491..bb7d90c7ad6 100644 --- a/src/include/storage/standby.h +++ b/src/include/storage/standby.h @@ -75,11 +75,19 @@ extern void StandbyReleaseOldLocks(TransactionId oldxid); * almost immediately see the data we need to begin executing queries. */ +typedef enum +{ + SUBXIDS_IN_ARRAY, /* xids array includes all running subxids */ + SUBXIDS_MISSING, /* snapshot overflowed, subxids are missing */ + SUBXIDS_IN_SUBTRANS, /* subxids are not included in 'xids', but + * pg_subtrans is fully up-to-date */ +} subxids_array_status; + typedef struct RunningTransactionsData { int xcnt; /* # of xact ids in xids[] */ int subxcnt; /* # of subxact ids in xids[] */ - bool subxid_overflow; /* snapshot overflowed, subxids missing */ + subxids_array_status subxid_status; TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */ TransactionId oldestRunningXid; /* *not* oldestXmin */ TransactionId latestCompletedXid; /* so we can set xmax */ diff --git a/src/include/tcop/tcopprot.h b/src/include/tcop/tcopprot.h index abd7b4fff33..e529e9f06c2 100644 --- a/src/include/tcop/tcopprot.h +++ b/src/include/tcop/tcopprot.h @@ -43,6 +43,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/guc_hooks.h b/src/include/utils/guc_hooks.h index 952293a1c30..0ea33fede9c 100644 --- a/src/include/utils/guc_hooks.h +++ b/src/include/utils/guc_hooks.h @@ -118,6 +118,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_session_authorization(char **newval, void **extra, GucSource source); diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index aa08b1e0fca..8b69c59356f 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/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index 79aa34c7fa5..4b54322926d 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -91,7 +91,7 @@ static struct sqlca_t sqlca = static pthread_mutex_t debug_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t debug_init_mutex = PTHREAD_MUTEX_INITIALIZER; #endif -static int simple_debug = 0; +static volatile int simple_debug = 0; static FILE *debugstream = NULL; void @@ -241,7 +241,11 @@ void ECPGdebug(int n, FILE *dbgs) { #ifdef ENABLE_THREAD_SAFETY + /* Interlock against concurrent executions of ECPGdebug() */ pthread_mutex_lock(&debug_init_mutex); + + /* Prevent ecpg_log() from printing while we change settings */ + pthread_mutex_lock(&debug_mutex); #endif if (n > 100) @@ -254,6 +258,12 @@ ECPGdebug(int n, FILE *dbgs) debugstream = dbgs; + /* We must release debug_mutex before invoking ecpg_log() ... */ +#ifdef ENABLE_THREAD_SAFETY + pthread_mutex_unlock(&debug_mutex); +#endif + + /* ... but keep holding debug_init_mutex to avoid racy printout */ ecpg_log("ECPGdebug: set to %d\n", simple_debug); #ifdef ENABLE_THREAD_SAFETY @@ -270,6 +280,11 @@ ecpg_log(const char *format,...) int bufsize; char *fmt; + /* + * For performance reasons, inspect simple_debug without taking the mutex. + * This could be problematic if fetching an int isn't atomic, but we + * assume that it is in many other places too. + */ if (!simple_debug) return; @@ -294,18 +309,22 @@ ecpg_log(const char *format,...) pthread_mutex_lock(&debug_mutex); #endif - va_start(ap, format); - vfprintf(debugstream, fmt, ap); - va_end(ap); - - /* dump out internal sqlca variables */ - if (ecpg_internal_regression_mode && sqlca != NULL) + /* Now that we hold the mutex, recheck simple_debug */ + if (simple_debug) { - fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n", - sqlca->sqlcode, sqlca->sqlstate); - } + va_start(ap, format); + vfprintf(debugstream, fmt, ap); + va_end(ap); - fflush(debugstream); + /* dump out internal sqlca variables */ + if (ecpg_internal_regression_mode && sqlca != NULL) + { + fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n", + sqlca->sqlcode, sqlca->sqlstate); + } + + fflush(debugstream); + } #ifdef ENABLE_THREAD_SAFETY pthread_mutex_unlock(&debug_mutex); diff --git a/src/interfaces/ecpg/ecpglib/po/es.po b/src/interfaces/ecpg/ecpglib/po/es.po index 8dec975e62e..9a2c9aed47a 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 12: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" diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index bed86cc6804..ba523e69129 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -376,7 +376,7 @@ octfail 0[oO]_? binfail 0[bB]_? numeric (({decinteger}\.{decinteger}?)|(\.{decinteger})) -numericfail {decdigit}+\.\. +numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] @@ -388,8 +388,9 @@ bininteger_junk {bininteger}{ident_start} numeric_junk {numeric}{ident_start} real_junk {real}{ident_start} -param \${decinteger} -param_junk \${decinteger}{ident_start} +/* Positional parameters don't accept underscores. */ +param \${decdigit}+ +param_junk \${decdigit}+{ident_start} /* special characters for other dbms */ /* we have to react differently in compat mode */ diff --git a/src/interfaces/ecpg/preproc/po/es.po b/src/interfaces/ecpg/preproc/po/es.po index 5a550b56e18..5a4f3d384cb 100644 --- a/src/interfaces/ecpg/preproc/po/es.po +++ b/src/interfaces/ecpg/preproc/po/es.po @@ -12,7 +12,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:10+0000\n" "PO-Revision-Date: 2023-05-22 12:05+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \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" -#: 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:18385 #, 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:19020 preproc.y:19342 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" @@ -445,140 +445,139 @@ msgstr "la opción AT no está permitida en la sentencia VAR" 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:2300 preproc.y:2587 preproc.y:4246 preproc.y:4910 preproc.y:5780 +#: preproc.y:6080 preproc.y:12199 #, c-format msgid "unsupported feature will be passed to server" msgstr "característica no soportada será pasada al servidor" -#: preproc.y:2847 +#: preproc.y:2845 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL no está implementado" -#: preproc.y:3531 +#: preproc.y:3529 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDIN no está implementado" -#: preproc.y:10303 preproc.y:17889 +#: preproc.y:10296 preproc.y:17882 #, 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:10303 preproc.y:17892 #, 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:10305 preproc.y:17894 #, c-format msgid "cursor \"%s\" is already defined" msgstr "el cursor «%s» ya está definido" -#: preproc.y:10786 +#: preproc.y:10779 #, 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:17574 preproc.y:17581 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS no puede especificar INTO" -#: preproc.y:17624 +#: preproc.y:17617 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "se esperaba «@», se encontró «%s»" -#: preproc.y:17636 +#: preproc.y:17629 #, 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:17632 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "se esperaba «://», se encontró «%s»" -#: preproc.y:17644 +#: preproc.y:17637 #, 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:17663 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "se esperaba «postgresql», se encontró «%s»" -#: preproc.y:17673 +#: preproc.y:17666 #, c-format msgid "invalid connection type: %s" msgstr "tipo de conexión no válido: %s" -#: preproc.y:17682 +#: preproc.y:17675 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "se esperaba «@» o «://», se encontró «%s»" -#: preproc.y:17757 preproc.y:17775 +#: preproc.y:17750 preproc.y:17768 #, c-format msgid "invalid data type" msgstr "tipo de dato no válido" -#: preproc.y:17786 preproc.y:17803 +#: preproc.y:17779 preproc.y:17796 #, c-format msgid "incomplete statement" msgstr "sentencia incompleta" -#: preproc.y:17789 preproc.y:17806 +#: preproc.y:17782 preproc.y:17799 #, c-format msgid "unrecognized token \"%s\"" msgstr "elemento «%s» no reconocido" -#: preproc.y:17851 +#: preproc.y:17844 #, c-format msgid "name \"%s\" is already declared" msgstr "el nombre «%s» ya está declarado" -#: preproc.y:18140 +#: preproc.y:18133 #, 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:18204 #, 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:18360 preproc.y:18412 #, 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:18535 #, c-format msgid "pointers to varchar are not implemented" msgstr "los punteros a varchar no están implementados" -#: preproc.y:18993 +#: preproc.y:18986 #, 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:19300 #, 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:19487 #, 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:19528 #, c-format msgid "%s at or near \"%s\"" msgstr "%s en o cerca de «%s»" diff --git a/src/interfaces/ecpg/preproc/po/ru.po b/src/interfaces/ecpg/preproc/po/ru.po index 70a73fbbfa2..bd30f5f0adf 100644 --- a/src/interfaces/ecpg/preproc/po/ru.po +++ b/src/interfaces/ecpg/preproc/po/ru.po @@ -6,7 +6,7 @@ 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 16:29+0300\n" +"POT-Creation-Date: 2024-08-01 12:51+0300\n" "PO-Revision-Date: 2022-09-05 13:32+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -236,131 +236,131 @@ msgstr "курсор \"%s\" был объявлен, но не открыт" msgid "could not remove output file \"%s\"\n" msgstr "ошибка при удалении выходного файла \"%s\"\n" -#: pgc.l:527 +#: pgc.l:528 #, c-format msgid "unterminated /* comment" msgstr "незавершённый комментарий /*" -#: pgc.l:544 +#: pgc.l:545 #, c-format msgid "unterminated bit string literal" msgstr "оборванная битовая строка" -#: pgc.l:552 +#: pgc.l:553 #, c-format msgid "unterminated hexadecimal string literal" msgstr "оборванная шестнадцатеричная строка" -#: pgc.l:627 +#: pgc.l:628 #, c-format msgid "invalid bit string literal" msgstr "неверная битовая строка" -#: pgc.l:632 +#: pgc.l:633 #, c-format msgid "invalid hexadecimal string literal" msgstr "неверная шестнадцатеричная строка" -#: pgc.l:650 +#: pgc.l:651 #, c-format msgid "unhandled previous state in xqs\n" msgstr "" "необрабатываемое предыдущее состояние при обнаружении закрывающего " "апострофа\n" -#: pgc.l:676 pgc.l:785 +#: pgc.l:677 pgc.l:786 #, c-format msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" -#: pgc.l:727 +#: pgc.l:728 #, c-format msgid "unterminated dollar-quoted string" msgstr "незавершённая строка с $" -#: pgc.l:745 pgc.l:765 +#: pgc.l:746 pgc.l:766 #, c-format msgid "zero-length delimited identifier" msgstr "пустой идентификатор в кавычках" -#: pgc.l:776 +#: pgc.l:777 #, c-format msgid "unterminated quoted identifier" msgstr "незавершённый идентификатор в кавычках" -#: pgc.l:945 +#: pgc.l:946 #, 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: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 "мусорное содержимое после числовой константы" -#: pgc.l:1135 +#: pgc.l:1136 #, c-format msgid "nested /* ... */ comments" msgstr "вложенные комментарии /* ... */" -#: pgc.l:1234 +#: pgc.l:1235 #, 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:1253 pgc.l:1266 pgc.l:1282 pgc.l:1295 #, 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:1311 pgc.l:1322 pgc.l:1337 pgc.l:1359 #, 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:1313 pgc.l:1324 pgc.l:1517 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "отсутствует \"EXEC SQL ENDIF;\"" -#: pgc.l:1338 pgc.l:1360 +#: pgc.l:1339 pgc.l:1361 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "неоднократная команда EXEC SQL ELSE" -#: pgc.l:1383 pgc.l:1397 +#: pgc.l:1384 pgc.l:1398 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "непарная команда EXEC SQL ENDIF" -#: pgc.l:1458 +#: pgc.l:1459 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "в команде EXEC SQL IFDEF отсутствует идентификатор" -#: pgc.l:1467 +#: pgc.l:1468 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "в команде EXEC SQL DEFINE отсутствует идентификатор" -#: pgc.l:1505 +#: pgc.l:1506 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "ошибка синтаксиса в команде EXEC SQL INCLUDE" -#: pgc.l:1560 +#: pgc.l:1561 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "внутренняя ошибка: недостижимое состояние; пожалуйста, сообщите в <%s>" -#: pgc.l:1712 +#: pgc.l:1713 #, 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:1736 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "не удалось открыть включаемый файл \"%s\" (строка %d)" diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c index a44d7d3f29e..ee518d5b875 100644 --- a/src/interfaces/libpq/fe-secure-openssl.c +++ b/src/interfaces/libpq/fe-secure-openssl.c @@ -1707,15 +1707,16 @@ SSLerrmessage(unsigned long ecode) } /* - * In OpenSSL 3.0.0 and later, ERR_reason_error_string randomly refuses to - * map system errno values. We can cover that shortcoming with this bit - * of code. Older OpenSSL versions don't have the ERR_SYSTEM_ERROR macro, - * but that's okay because they don't have the shortcoming either. + * In OpenSSL 3.0.0 and later, ERR_reason_error_string does not map system + * errno values anymore. (See OpenSSL source code for the explanation.) + * We can cover that shortcoming with this bit of code. Older OpenSSL + * versions don't have the ERR_SYSTEM_ERROR macro, but that's okay because + * they don't have the shortcoming either. */ #ifdef ERR_SYSTEM_ERROR if (ERR_SYSTEM_ERROR(ecode)) { - strlcpy(errbuf, strerror(ERR_GET_REASON(ecode)), SSL_ERR_LEN); + strerror_r(ERR_GET_REASON(ecode), errbuf, SSL_ERR_LEN); return errbuf; } #endif diff --git a/src/interfaces/libpq/po/es.po b/src/interfaces/libpq/po/es.po index 98349a8ad1f..9539cce2ea3 100644 --- a/src/interfaces/libpq/po/es.po +++ b/src/interfaces/libpq/po/es.po @@ -12,7 +12,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:10+0000\n" "PO-Revision-Date: 2023-10-06 13:28+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -82,12 +82,12 @@ msgstr "no se pudo generar nonce" #: 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-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 #, c-format msgid "out of memory" msgstr "memoria agotada" @@ -764,8 +764,8 @@ msgstr "valor no permitido %%00 en valor escapado con %%: «%s»" 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:7256 fe-exec.c:710 fe-exec.c:972 fe-exec.c:3321 +#: fe-protocol3.c:969 fe-protocol3.c:1002 msgid "out of memory\n" msgstr "memoria agotada\n" @@ -784,12 +784,12 @@ msgstr "ADVERTENCIA: El archivo de claves «%s» tiene permiso de lectura para e msgid "password retrieved from file \"%s\"" msgstr "contraseña obtenida desde el archivo «%s»" -#: fe-exec.c:466 fe-exec.c:3366 +#: fe-exec.c:466 fe-exec.c:3395 #, 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:528 fe-protocol3.c:1971 #, c-format msgid "%s" msgstr "%s" @@ -799,141 +799,141 @@ msgstr "%s" msgid "write to server failed" msgstr "falló escritura al servidor" -#: fe-exec.c:869 +#: fe-exec.c:871 #, c-format msgid "no error text available" msgstr "no hay mensaje de error disponible" -#: fe-exec.c:958 +#: fe-exec.c:960 msgid "NOTICE" msgstr "AVISO" -#: fe-exec.c:1016 +#: fe-exec.c:1018 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:1030 msgid "size_t overflow" msgstr "desbordamiento de size_t" -#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#: fe-exec.c:1446 fe-exec.c:1515 fe-exec.c:1561 #, 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:1452 fe-exec.c:2883 #, 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:1520 fe-exec.c:1566 fe-exec.c:1660 #, 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:1556 fe-exec.c:1655 #, 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:1697 fe-exec.c:3241 #, 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:1705 fe-exec.c:3249 #, c-format msgid "another command is already in progress" msgstr "hay otra orden en ejecución" -#: fe-exec.c:1733 +#: fe-exec.c:1735 #, 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:1852 #, 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:2166 #, c-format msgid "unexpected asyncStatus: %d" msgstr "asyncStatus no esperado: %d" -#: fe-exec.c:2327 +#: fe-exec.c:2322 #, 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:2339 msgid "COPY terminated by new PQexec" msgstr "COPY terminado por un nuevo PQexec" -#: fe-exec.c:2360 +#: fe-exec.c:2355 #, 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:2581 fe-exec.c:2636 fe-exec.c:2704 fe-protocol3.c:1902 #, c-format msgid "no COPY in progress" msgstr "no hay COPY alguno en ejecución" -#: fe-exec.c:2895 +#: fe-exec.c:2890 #, c-format msgid "connection in wrong state" msgstr "la conexión está en un estado incorrecto" -#: fe-exec.c:2938 +#: fe-exec.c:2933 #, 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:2969 fe-exec.c:2990 #, 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:2973 #, 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:2984 #, 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:3175 #, 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:3284 msgid "invalid ExecStatusType code" msgstr "el código de ExecStatusType no es válido" -#: fe-exec.c:3282 +#: fe-exec.c:3311 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:3379 fe-exec.c:3402 #, 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:3417 #, 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:3728 #, 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:3993 fe-exec.c:4083 #, c-format msgid "incomplete multibyte character" msgstr "carácter multibyte incompleto" @@ -999,8 +999,8 @@ msgstr "el entero de tamaño %lu no está soportado por pqPutInt" 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:751 fe-secure-openssl.c:210 fe-secure-openssl.c:316 +#: fe-secure.c:259 fe-secure.c:426 #, c-format msgid "" "server closed the connection unexpectedly\n" @@ -1035,148 +1035,148 @@ msgstr "%s() falló: %s" 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:380 #, 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:422 #, 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:445 #, 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:463 #, 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:515 fe-protocol3.c:555 msgid "insufficient data in \"T\" message" msgstr "datos insuficientes en el mensaje «T»" -#: fe-protocol3.c:631 fe-protocol3.c:837 +#: fe-protocol3.c:626 fe-protocol3.c:832 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:695 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:754 fe-protocol3.c:786 fe-protocol3.c:804 msgid "insufficient data in \"D\" message" msgstr "datos insuficientes en el mensaje «D»" -#: fe-protocol3.c:765 +#: fe-protocol3.c:760 msgid "unexpected field count in \"D\" message" msgstr "cantidad de campos inesperada en mensaje «D»" -#: fe-protocol3.c:1020 +#: fe-protocol3.c:1015 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:1063 fe-protocol3.c:1082 #, c-format msgid " at character %s" msgstr " en el carácter %s" -#: fe-protocol3.c:1100 +#: fe-protocol3.c:1095 #, c-format msgid "DETAIL: %s\n" msgstr "DETALLE: %s\n" -#: fe-protocol3.c:1103 +#: fe-protocol3.c:1098 #, c-format msgid "HINT: %s\n" msgstr "SUGERENCIA: %s\n" -#: fe-protocol3.c:1106 +#: fe-protocol3.c:1101 #, c-format msgid "QUERY: %s\n" msgstr "CONSULTA: %s\n" -#: fe-protocol3.c:1113 +#: fe-protocol3.c:1108 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXTO: %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1117 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "NOMBRE DE ESQUEMA: %s\n" -#: fe-protocol3.c:1126 +#: fe-protocol3.c:1121 #, c-format msgid "TABLE NAME: %s\n" msgstr "NOMBRE DE TABLA: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1125 #, c-format msgid "COLUMN NAME: %s\n" msgstr "NOMBRE DE COLUMNA: %s\n" -#: fe-protocol3.c:1134 +#: fe-protocol3.c:1129 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "NOMBRE TIPO DE DATO: %s\n" -#: fe-protocol3.c:1138 +#: fe-protocol3.c:1133 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "NOMBRE DE RESTRICCIÓN: %s\n" -#: fe-protocol3.c:1150 +#: fe-protocol3.c:1145 msgid "LOCATION: " msgstr "UBICACIÓN: " -#: fe-protocol3.c:1152 +#: fe-protocol3.c:1147 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1154 +#: fe-protocol3.c:1149 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1349 +#: fe-protocol3.c:1344 #, c-format msgid "LINE %d: " msgstr "LÍNEA %d: " -#: fe-protocol3.c:1423 +#: fe-protocol3.c:1418 #, 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:1424 #, 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:1432 #, c-format msgid "invalid %s message" msgstr "mensaje %s no válido" -#: fe-protocol3.c:1802 +#: fe-protocol3.c:1797 #, 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:2171 #, 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:2182 #, c-format msgid "protocol error: id=0x%x" msgstr "error de protocolo: id=0x%x" @@ -1218,132 +1218,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:214 fe-secure-openssl.c:320 fe-secure-openssl.c:1518 #, 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:220 fe-secure-openssl.c:326 fe-secure-openssl.c:1521 #, 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:230 fe-secure-openssl.c:336 fe-secure-openssl.c:1529 #, 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:244 fe-secure-openssl.c:350 #, 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:249 fe-secure-openssl.c:355 fe-secure-openssl.c:1576 #, 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:398 #, 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:418 #, 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:427 #, 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:510 #, 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:544 #, 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:945 #, 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:987 #, 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:997 #, 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:1013 #, 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:1023 #, 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:1061 #, 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:1078 #, 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:1130 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1352,7 +1352,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:1133 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1361,112 +1361,112 @@ 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:1168 #, 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:1186 #, 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:1210 #, 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:1242 #, 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:1286 #, 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:1297 #, 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:1312 #, 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:1325 #, 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:1362 #, 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:1365 #, 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:1373 #, 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:1406 #, 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:1430 #, 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:1446 #, 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:1515 #, 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:1560 #, 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:1593 #, 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:1699 #, c-format msgid "no SSL error reported" msgstr "código de error SSL no reportado" -#: fe-secure-openssl.c:1720 +#: fe-secure-openssl.c:1725 #, c-format msgid "SSL error code %lu" msgstr "código de error SSL %lu" -#: fe-secure-openssl.c:1986 +#: fe-secure-openssl.c:2015 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ADVERTENCIA: sslpassword truncada\n" -#: fe-secure.c:263 +#: fe-secure.c:270 #, 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:441 #, 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/ru.po b/src/interfaces/libpq/po/ru.po index 5fa1387ce82..3f73702ceba 100644 --- a/src/interfaces/libpq/po/ru.po +++ b/src/interfaces/libpq/po/ru.po @@ -10,7 +10,7 @@ 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 16:29+0300\n" +"POT-Creation-Date: 2024-08-01 12:50+0300\n" "PO-Revision-Date: 2023-08-30 15:09+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -1546,12 +1546,12 @@ msgstr "не удалось получить сертификат: %s" msgid "no SSL error reported" msgstr "нет сообщения об ошибке SSL" -#: fe-secure-openssl.c:1724 +#: fe-secure-openssl.c:1725 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: fe-secure-openssl.c:2014 +#: fe-secure-openssl.c:2015 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ПРЕДУПРЕЖДЕНИЕ: значение sslpassword усечено\n" diff --git a/src/pl/plperl/po/es.po b/src/pl/plperl/po/es.po index f0ca724b25a..66beec6b6e9 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 12:09+0000\n" "PO-Revision-Date: 2022-10-20 09:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff --git a/src/pl/plpgsql/src/expected/plpgsql_call.out b/src/pl/plpgsql/src/expected/plpgsql_call.out index ab16416c1e2..0a63b1d44ef 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_call.out +++ b/src/pl/plpgsql/src/expected/plpgsql_call.out @@ -409,6 +409,40 @@ END $$; NOTICE: a: , b: {30,7} NOTICE: _a: 37, _b: 30, _c: 7 +-- polymorphic OUT arguments +CREATE PROCEDURE test_proc12(a anyelement, OUT b anyelement, OUT c anyarray) +LANGUAGE plpgsql +AS $$ +BEGIN + RAISE NOTICE 'a: %', a; + b := a; + c := array[a]; +END; +$$; +DO $$ +DECLARE _a int; _b int; _c int[]; +BEGIN + _a := 10; + CALL test_proc12(_a, _b, _c); + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; +END +$$; +NOTICE: a: 10 +NOTICE: _a: 10, _b: 10, _c: {10} +DO $$ +DECLARE _a int; _b int; _c text[]; +BEGIN + _a := 10; + CALL test_proc12(_a, _b, _c); -- error + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; +END +$$; +ERROR: procedure test_proc12(integer, integer, text[]) does not exist +LINE 1: CALL test_proc12(_a, _b, _c) + ^ +HINT: No procedure matches the given name and argument types. You might need to add explicit type casts. +QUERY: CALL test_proc12(_a, _b, _c) +CONTEXT: PL/pgSQL function inline_code_block line 5 at CALL -- transition variable assignment TRUNCATE test1; CREATE FUNCTION triggerfunc1() RETURNS trigger @@ -530,3 +564,53 @@ NOTICE: inner_p(44) (1 row) +-- Check that stable functions in CALL see the correct snapshot +CREATE TABLE t_test (x int); +INSERT INTO t_test VALUES (0); +CREATE FUNCTION f_get_x () RETURNS int +AS $$ +DECLARE l_result int; +BEGIN + SELECT x INTO l_result FROM t_test; + RETURN l_result; +END +$$ LANGUAGE plpgsql STABLE; +CREATE PROCEDURE f_print_x (x int) +AS $$ +BEGIN + RAISE NOTICE 'f_print_x(%)', x; +END +$$ LANGUAGE plpgsql; +-- test in non-atomic context +DO $$ +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()); + 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 $$ +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()); +END +$$; +NOTICE: f_get_x(1) +NOTICE: f_print_x(1) +NOTICE: f_get_x(2) +NOTICE: f_print_x(2) +ROLLBACK; diff --git a/src/pl/plpgsql/src/expected/plpgsql_simple.out b/src/pl/plpgsql/src/expected/plpgsql_simple.out index e1f5d670fbe..7b22e60f198 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_simple.out +++ b/src/pl/plpgsql/src/expected/plpgsql_simple.out @@ -89,3 +89,32 @@ select simplecaller(); 4 (1 row) +-- Check case where called function changes from non-SRF to SRF (bug #18497) +create or replace function simplecaller() returns int language plpgsql +as $$ +declare x int; +begin + x := simplesql(); + return x; +end$$; +select simplecaller(); + simplecaller +-------------- + 4 +(1 row) + +drop function simplesql(); +create function simplesql() returns setof int language sql +as $$select 22 + 22$$; +select simplecaller(); + simplecaller +-------------- + 44 +(1 row) + +select simplecaller(); + simplecaller +-------------- + 44 +(1 row) + diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 4b76f7699a6..4eb05a02b95 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -339,6 +339,7 @@ static void exec_eval_cleanup(PLpgSQL_execstate *estate); static void exec_prepare_plan(PLpgSQL_execstate *estate, PLpgSQL_expr *expr, int cursorOptions); static void exec_simple_check_plan(PLpgSQL_execstate *estate, PLpgSQL_expr *expr); +static bool exec_is_simple_query(PLpgSQL_expr *expr); static void exec_save_simple_expr(PLpgSQL_expr *expr, CachedPlan *cplan); static void exec_check_rw_parameter(PLpgSQL_expr *expr); static void exec_check_assignable(PLpgSQL_execstate *estate, int dno); @@ -6092,12 +6093,18 @@ exec_eval_simple_expr(PLpgSQL_execstate *estate, * release it, so we don't leak plans intra-transaction. */ if (expr->expr_simple_plan_lxid == curlxid) - { ReleaseCachedPlan(expr->expr_simple_plan, estate->simple_eval_resowner); - expr->expr_simple_plan = NULL; - expr->expr_simple_plan_lxid = InvalidLocalTransactionId; - } + + /* + * Reset to "not simple" to leave sane state (with no dangling + * pointers) in case we fail while replanning. expr_simple_plansource + * can be left alone however, as that cannot move. + */ + expr->expr_simple_expr = NULL; + expr->expr_rw_param = NULL; + expr->expr_simple_plan = NULL; + expr->expr_simple_plan_lxid = InvalidLocalTransactionId; /* Do the replanning work in the eval_mcontext */ oldcontext = MemoryContextSwitchTo(get_eval_mcontext(estate)); @@ -6113,11 +6120,15 @@ exec_eval_simple_expr(PLpgSQL_execstate *estate, Assert(cplan != NULL); /* - * This test probably can't fail either, but if it does, cope by - * declaring the plan to be non-simple. On success, we'll acquire a - * refcount on the new plan, stored in simple_eval_resowner. + * Recheck exec_is_simple_query, which could now report false in + * edge-case scenarios such as a non-SRF having been replaced with a + * SRF. Also recheck CachedPlanAllowsSimpleValidityCheck, just to be + * sure. If either test fails, cope by declaring the plan to be + * non-simple. On success, we'll acquire a refcount on the new plan, + * stored in simple_eval_resowner. */ - if (CachedPlanAllowsSimpleValidityCheck(expr->expr_simple_plansource, + if (exec_is_simple_query(expr) && + CachedPlanAllowsSimpleValidityCheck(expr->expr_simple_plansource, cplan, estate->simple_eval_resowner)) { @@ -6129,9 +6140,6 @@ exec_eval_simple_expr(PLpgSQL_execstate *estate, { /* Release SPI_plan_get_cached_plan's refcount */ ReleaseCachedPlan(cplan, CurrentResourceOwner); - /* Mark expression as non-simple, and fail */ - expr->expr_simple_expr = NULL; - expr->expr_rw_param = NULL; return false; } @@ -7972,7 +7980,6 @@ exec_simple_check_plan(PLpgSQL_execstate *estate, PLpgSQL_expr *expr) { List *plansources; CachedPlanSource *plansource; - Query *query; CachedPlan *cplan; MemoryContext oldcontext; @@ -7988,31 +7995,88 @@ exec_simple_check_plan(PLpgSQL_execstate *estate, PLpgSQL_expr *expr) * called immediately after creating the CachedPlanSource, we need not * worry about the query being stale. */ + if (!exec_is_simple_query(expr)) + return; + + /* exec_is_simple_query verified that there's just one CachedPlanSource */ + plansources = SPI_plan_get_plan_sources(expr->plan); + plansource = (CachedPlanSource *) linitial(plansources); /* - * We can only test queries that resulted in exactly one CachedPlanSource + * Get the generic plan for the query. If replanning is needed, do that + * work in the eval_mcontext. (Note that replanning could throw an error, + * in which case the expr is left marked "not simple", which is fine.) + */ + oldcontext = MemoryContextSwitchTo(get_eval_mcontext(estate)); + cplan = SPI_plan_get_cached_plan(expr->plan); + MemoryContextSwitchTo(oldcontext); + + /* Can't fail, because we checked for a single CachedPlanSource above */ + Assert(cplan != NULL); + + /* + * Verify that plancache.c thinks the plan is simple enough to use + * CachedPlanIsSimplyValid. Given the restrictions above, it's unlikely + * that this could fail, but if it does, just treat plan as not simple. On + * success, save a refcount on the plan in the simple-expression resowner. + */ + if (CachedPlanAllowsSimpleValidityCheck(plansource, cplan, + estate->simple_eval_resowner)) + { + /* Remember that we have the refcount */ + expr->expr_simple_plansource = plansource; + expr->expr_simple_plan = cplan; + expr->expr_simple_plan_lxid = MyProc->lxid; + + /* Share the remaining work with the replan code path */ + exec_save_simple_expr(expr, cplan); + } + + /* + * Release the plan refcount obtained by SPI_plan_get_cached_plan. (This + * refcount is held by the wrong resowner, so we can't just repurpose it.) + */ + ReleaseCachedPlan(cplan, CurrentResourceOwner); +} + +/* + * exec_is_simple_query - precheck a query tree to see if it might be simple + * + * Check the analyzed-and-rewritten form of a query to see if we will be + * able to treat it as a simple expression. It is caller's responsibility + * that the CachedPlanSource be up-to-date. + */ +static bool +exec_is_simple_query(PLpgSQL_expr *expr) +{ + List *plansources; + CachedPlanSource *plansource; + Query *query; + + /* + * We can only test queries that resulted in exactly one CachedPlanSource. */ plansources = SPI_plan_get_plan_sources(expr->plan); if (list_length(plansources) != 1) - return; + return false; plansource = (CachedPlanSource *) linitial(plansources); /* * 1. There must be one single querytree. */ if (list_length(plansource->query_list) != 1) - return; + return false; query = (Query *) linitial(plansource->query_list); /* - * 2. It must be a plain SELECT query without any input tables + * 2. It must be a plain SELECT query without any input tables. */ if (!IsA(query, Query)) - return; + return false; if (query->commandType != CMD_SELECT) - return; + return false; if (query->rtable != NIL) - return; + return false; /* * 3. Can't have any subplans, aggregates, qual clauses either. (These @@ -8036,51 +8100,18 @@ exec_simple_check_plan(PLpgSQL_execstate *estate, PLpgSQL_expr *expr) query->limitOffset || query->limitCount || query->setOperations) - return; + return false; /* - * 4. The query must have a single attribute as result + * 4. The query must have a single attribute as result. */ if (list_length(query->targetList) != 1) - return; + return false; /* * OK, we can treat it as a simple plan. - * - * Get the generic plan for the query. If replanning is needed, do that - * work in the eval_mcontext. (Note that replanning could throw an error, - * in which case the expr is left marked "not simple", which is fine.) - */ - oldcontext = MemoryContextSwitchTo(get_eval_mcontext(estate)); - cplan = SPI_plan_get_cached_plan(expr->plan); - MemoryContextSwitchTo(oldcontext); - - /* Can't fail, because we checked for a single CachedPlanSource above */ - Assert(cplan != NULL); - - /* - * Verify that plancache.c thinks the plan is simple enough to use - * CachedPlanIsSimplyValid. Given the restrictions above, it's unlikely - * that this could fail, but if it does, just treat plan as not simple. On - * success, save a refcount on the plan in the simple-expression resowner. - */ - if (CachedPlanAllowsSimpleValidityCheck(plansource, cplan, - estate->simple_eval_resowner)) - { - /* Remember that we have the refcount */ - expr->expr_simple_plansource = plansource; - expr->expr_simple_plan = cplan; - expr->expr_simple_plan_lxid = MyProc->lxid; - - /* Share the remaining work with the replan code path */ - exec_save_simple_expr(expr, cplan); - } - - /* - * Release the plan refcount obtained by SPI_plan_get_cached_plan. (This - * refcount is held by the wrong resowner, so we can't just repurpose it.) */ - ReleaseCachedPlan(cplan, CurrentResourceOwner); + return true; } /* diff --git a/src/pl/plpgsql/src/pl_gram.y b/src/pl/plpgsql/src/pl_gram.y index 20c52e797be..cd172ef2f8d 100644 --- a/src/pl/plpgsql/src/pl_gram.y +++ b/src/pl/plpgsql/src/pl_gram.y @@ -3194,11 +3194,11 @@ read_fetch_direction(void) { /* * Assume it's a count expression with no preceding keyword. - * Note: we allow this syntax because core SQL does, but we don't - * document it because of the ambiguity with the omitted-direction - * case. For instance, "MOVE n IN c" will fail if n is a variable. - * Perhaps this can be improved someday, but it's hardly worth a - * lot of work. + * Note: we allow this syntax because core SQL does, but it's + * ambiguous with the case of an omitted direction clause; for + * instance, "MOVE n IN c" will fail if n is a variable, because the + * preceding else-arm will trigger. Perhaps this can be improved + * someday, but it hardly seems worth a lot of work. */ plpgsql_push_back_token(tok); fetch->expr = read_sql_expression2(K_FROM, K_IN, diff --git a/src/pl/plpgsql/src/po/es.po b/src/pl/plpgsql/src/po/es.po index 1c12451409b..f673ff0caf1 100644 --- a/src/pl/plpgsql/src/po/es.po +++ b/src/pl/plpgsql/src/po/es.po @@ -12,7 +12,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:09+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -78,8 +78,8 @@ 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:5256 pl_exec.c:5429 pl_exec.c:5516 pl_exec.c:5607 +#: pl_exec.c:6632 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "el registro «%s» no tiene un campo «%s»" @@ -104,7 +104,7 @@ msgstr "la variable «%s» tiene pseudotipo %s" msgid "type \"%s\" is only a shell" msgstr "el tipo «%s» está inconcluso" -#: pl_comp.c:2194 pl_exec.c:6925 +#: pl_comp.c:2194 pl_exec.c:6933 #, c-format msgid "type %s is not composite" msgstr "el tipo %s no es compuesto" @@ -119,63 +119,63 @@ msgstr "no se reconoce la condición de excepción «%s»" 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 +183,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:4689 #, 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:4759 #, 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:4778 #, 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:3350 #, 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:3414 #, 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:4466 pl_exec.c:8755 #, 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:4339 pl_exec.c:4528 #, 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:4345 #, 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:4368 pl_exec.c:4557 #, 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:4391 pl_exec.c:4580 #, 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:4413 pl_exec.c:4599 pl_exec.c:5751 #, 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:4415 #, 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:4431 #, 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:4432 #, 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:4520 #, 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:4521 #, 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:4534 #, 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:4844 pl_exec.c:4932 #, 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:4855 pl_exec.c:4943 #, c-format msgid "cursor \"%s\" does not exist" msgstr "no existe el cursor «%s»" -#: pl_exec.c:4867 +#: pl_exec.c:4868 #, 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:5106 pl_exec.c:5201 #, 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:5182 #, 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:5214 #, 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:5265 #, 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:5714 #, 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:5715 pl_exec.c:5727 pl_exec.c:5752 pl_exec.c:5828 pl_exec.c:5833 #, c-format msgid "query: %s" msgstr "consulta: %s" -#: pl_exec.c:5722 +#: pl_exec.c:5723 #, 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:5827 #, 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:5832 #, 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:6646 pl_exec.c:6686 pl_exec.c:6726 #, 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:7137 pl_exec.c:7171 pl_exec.c:7245 pl_exec.c:7271 #, 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:7139 pl_exec.c:7173 pl_exec.c:7247 pl_exec.c:7273 #, 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:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277 #, 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:7664 #, 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:7665 #, 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:8353 pl_gram.y:3473 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "la variable «%s» esta declarada como CONSTANT" @@ -592,12 +592,12 @@ msgstr "elemento de diagnóstico %s no se permite en GET STACKED DIAGNOSTICS" msgid "unrecognized GET DIAGNOSTICS item" msgstr "elemento de GET DIAGNOSTICS no reconocido" -#: pl_gram.y:1148 pl_gram.y:3534 +#: pl_gram.y:1148 pl_gram.y:3589 #, 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:1378 pl_gram.y:1571 #, 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" @@ -612,90 +612,90 @@ msgstr "un bucle FOR de un cursor debe tener sólo una variable de destino" 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)" -#: pl_gram.y:1511 +#: pl_gram.y:1510 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "un bucle FOR de un número entero debe tener sólo una variable de destino" -#: pl_gram.y:1545 +#: pl_gram.y:1544 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "no se puede especificar REVERSE en un bucle FOR de una consulta" -#: pl_gram.y:1675 +#: pl_gram.y:1674 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "la variable de bucle de FOREACH debe ser una variable conocida o una lista de variables conocidas" -#: pl_gram.y:1717 +#: pl_gram.y:1716 #, c-format msgid "there is no label \"%s\" attached to any block or loop enclosing this statement" msgstr "ningún bloque o bucle que contenga esta sentencia tiene una etiqueta «%s»" -#: pl_gram.y:1725 +#: pl_gram.y:1724 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "la etiqueta de bloque «%s» no puede usarse en CONTINUE" -#: pl_gram.y:1740 +#: pl_gram.y:1739 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT no puede usarse fuera de un bucle, a menos que tenga una etiqueta" -#: pl_gram.y:1741 +#: pl_gram.y:1740 #, c-format 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: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 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: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 msgid "syntax error" msgstr "error de sintaxis" -#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 +#: pl_gram.y:1898 pl_gram.y:1900 pl_gram.y:2386 pl_gram.y:2388 msgid "invalid SQLSTATE code" msgstr "código SQLSTATE no válido" -#: pl_gram.y:2107 +#: pl_gram.y:2106 msgid "syntax error, expected \"FOR\"" msgstr "error de sintaxis, se esperaba «FOR»" -#: pl_gram.y:2168 +#: pl_gram.y:2167 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "la sentencia FETCH no puede retornar múltiples filas" -#: pl_gram.y:2265 +#: pl_gram.y:2264 #, c-format msgid "cursor variable must be a simple variable" msgstr "variable de cursor debe ser una variable simple" -#: pl_gram.y:2271 +#: pl_gram.y:2270 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "la variable «%s» debe ser de tipo cursor o refcursor" -#: pl_gram.y:2603 pl_gram.y:2614 +#: pl_gram.y:2602 pl_gram.y:2613 #, c-format 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:2718 pl_gram.y:2728 pl_gram.y:2886 msgid "mismatched parentheses" msgstr "no coinciden los paréntesis" -#: pl_gram.y:2734 +#: pl_gram.y:2732 #, 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:2738 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "falta «%s» al final de la sentencia SQL" @@ -716,108 +716,108 @@ msgstr "declaración de tipo de dato incompleta" msgid "missing data type declaration" msgstr "declaración de tipo de dato faltante" -#: pl_gram.y:2991 +#: pl_gram.y:3046 msgid "INTO specified more than once" msgstr "INTO fue especificado más de una vez" -#: pl_gram.y:3161 +#: pl_gram.y:3216 msgid "expected FROM or IN" msgstr "se espera FROM o IN" -#: pl_gram.y:3222 +#: pl_gram.y:3277 #, 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:3278 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Use RETURN NEXT o RETURN QUERY." -#: pl_gram.y:3233 +#: pl_gram.y:3288 #, 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:3293 #, 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:3302 #, 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:3365 #, 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:3531 #, 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:3577 #, c-format msgid "too many INTO variables specified" msgstr "se especificaron demasiadas variables INTO" -#: pl_gram.y:3730 +#: pl_gram.y:3785 #, 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:3792 #, 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:3826 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "el cursor «%s» no tiene argumentos" -#: pl_gram.y:3785 +#: pl_gram.y:3840 #, c-format msgid "cursor \"%s\" has arguments" msgstr "el cursor «%s» tiene argumentos" -#: pl_gram.y:3827 +#: pl_gram.y:3882 #, 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:3902 #, 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:3923 #, 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:3930 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "demasiados argumentos para el cursor «%s»" -#: pl_gram.y:3965 +#: pl_gram.y:4016 msgid "unrecognized RAISE statement option" msgstr "no se reconoce la opción de sentencia RAISE" -#: pl_gram.y:3969 +#: pl_gram.y:4020 msgid "syntax error, expected \"=\"" msgstr "error de sintaxis, se esperaba «=»" -#: pl_gram.y:4010 +#: pl_gram.y:4061 #, c-format msgid "too many parameters specified for RAISE" msgstr "se especificaron demasiados parámetros a RAISE" -#: pl_gram.y:4014 +#: pl_gram.y:4065 #, c-format msgid "too few parameters specified for RAISE" msgstr "se especificaron muy pocos parámetros a RAISE" @@ -843,13 +843,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/ru.po b/src/pl/plpgsql/src/po/ru.po index 6f29a9c967c..4c0275a07fd 100644 --- a/src/pl/plpgsql/src/po/ru.po +++ b/src/pl/plpgsql/src/po/ru.po @@ -6,7 +6,7 @@ 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 16:29+0300\n" +"POT-Creation-Date: 2024-08-01 12:51+0300\n" "PO-Revision-Date: 2022-09-05 13:38+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -78,8 +78,8 @@ 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:5256 pl_exec.c:5429 pl_exec.c:5516 pl_exec.c:5607 +#: pl_exec.c:6632 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "в записи \"%s\" нет поля \"%s\"" @@ -104,7 +104,7 @@ msgstr "переменная \"%s\" имеет псевдотип %s" msgid "type \"%s\" is only a shell" msgstr "тип \"%s\" является пустышкой" -#: pl_comp.c:2194 pl_exec.c:6925 +#: pl_comp.c:2194 pl_exec.c:6933 #, c-format msgid "type %s is not composite" msgstr "тип %s не является составным" @@ -122,57 +122,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:3682 #, 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:3688 #, 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:3481 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 +182,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,39 +190,39 @@ 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 "при очистке после исключения" -#: pl_exec.c:2370 +#: pl_exec.c:2371 #, c-format msgid "" "procedure parameter \"%s\" is an output parameter but corresponding argument " @@ -231,7 +231,7 @@ msgstr "" "параметр процедуры \"%s\" является выходным, но соответствующий аргумент не " "допускает запись" -#: pl_exec.c:2375 +#: pl_exec.c:2376 #, c-format msgid "" "procedure parameter %d is an output parameter but corresponding argument is " @@ -240,199 +240,199 @@ msgstr "" "параметр процедуры %d является выходным, но соответствующий аргумент не " "допускает запись" -#: 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 нельзя использовать вне блока обработчика исключения" -#: pl_exec.c:2615 +#: pl_exec.c:2616 #, c-format msgid "case not found" msgstr "неправильный CASE" -#: pl_exec.c:2616 +#: pl_exec.c:2617 #, c-format msgid "CASE statement is missing ELSE part." msgstr "В операторе CASE не хватает части ELSE." -#: pl_exec.c:2709 +#: pl_exec.c:2710 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "нижняя граница цикла FOR не может быть равна NULL" -#: pl_exec.c:2725 +#: pl_exec.c:2726 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "верхняя граница цикла FOR не может быть равна NULL" -#: pl_exec.c:2743 +#: pl_exec.c:2744 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "значение BY в цикле FOR не может быть равно NULL" -#: pl_exec.c:2749 +#: pl_exec.c:2750 #, 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:2884 pl_exec.c:4689 #, c-format msgid "cursor \"%s\" already in use" msgstr "курсор \"%s\" уже используется" -#: pl_exec.c:2906 pl_exec.c:4758 +#: pl_exec.c:2907 pl_exec.c:4759 #, c-format msgid "arguments given for cursor without arguments" msgstr "курсору без аргументов были переданы аргументы" -#: pl_exec.c:2925 pl_exec.c:4777 +#: pl_exec.c:2926 pl_exec.c:4778 #, c-format msgid "arguments required for cursor" msgstr "курсору требуются аргументы" -#: pl_exec.c:3016 +#: pl_exec.c:3017 #, c-format msgid "FOREACH expression must not be null" msgstr "выражение FOREACH не может быть равно NULL" -#: pl_exec.c:3031 +#: pl_exec.c:3032 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "выражение в FOREACH должно быть массивом, но не типом %s" -#: pl_exec.c:3048 +#: pl_exec.c:3049 #, 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:3076 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "переменная цикла FOREACH ... SLICE должна быть массивом" -#: pl_exec.c:3079 +#: pl_exec.c:3080 #, 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:3242 pl_exec.c:3299 pl_exec.c:3474 #, 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:3338 pl_gram.y:3350 #, 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:3379 pl_exec.c:3511 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "в 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 "в RETURN NEXT передан неправильный тип записи" -#: pl_exec.c:3529 +#: pl_exec.c:3530 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "у оператора RETURN NEXT должен быть параметр" -#: pl_exec.c:3557 pl_gram.y:3414 +#: pl_exec.c:3558 pl_gram.y:3414 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "" "RETURN QUERY можно использовать только в функциях, возвращающих множества" -#: pl_exec.c:3575 +#: pl_exec.c:3576 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:3631 pl_exec.c:4466 pl_exec.c:8755 #, c-format msgid "query string argument of EXECUTE is null" msgstr "в качестве текста запроса в EXECUTE передан 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 "этот параметр RAISE уже указан: %s" -#: pl_exec.c:3749 +#: pl_exec.c:3750 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "" "RAISE без параметров нельзя использовать вне блока обработчика исключения" -#: pl_exec.c:3843 +#: pl_exec.c:3844 #, c-format msgid "RAISE statement option cannot be null" msgstr "параметром оператора RAISE не может быть 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 "нарушение истинности" -#: pl_exec.c:4338 pl_exec.c:4527 +#: pl_exec.c:4339 pl_exec.c:4528 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "в PL/pgSQL нельзя выполнить COPY с участием клиента" -#: pl_exec.c:4344 +#: pl_exec.c:4345 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "неподдерживаемая транзакционная команда в PL/pgSQL" -#: pl_exec.c:4367 pl_exec.c:4556 +#: pl_exec.c:4368 pl_exec.c:4557 #, 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:4391 pl_exec.c:4580 #, c-format msgid "query returned no rows" msgstr "запрос не вернул строк" -#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750 +#: pl_exec.c:4413 pl_exec.c:4599 pl_exec.c:5751 #, c-format msgid "query returned more than one row" msgstr "запрос вернул несколько строк" -#: pl_exec.c:4414 +#: pl_exec.c:4415 #, 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:4431 #, c-format msgid "query has no destination for result data" msgstr "в запросе нет назначения для данных результата" -#: pl_exec.c:4431 +#: pl_exec.c:4432 #, 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:4520 #, 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:4521 #, c-format msgid "" "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS " @@ -441,57 +441,57 @@ msgstr "" "Альтернативой может стать EXECUTE ... INTO или EXECUTE CREATE TABLE ... " "AS ..." -#: pl_exec.c:4533 +#: pl_exec.c:4534 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE с транзакционными командами не поддерживается" -#: pl_exec.c:4843 pl_exec.c:4931 +#: pl_exec.c:4844 pl_exec.c:4932 #, c-format msgid "cursor variable \"%s\" is null" msgstr "переменная курсора \"%s\" равна NULL" -#: pl_exec.c:4854 pl_exec.c:4942 +#: pl_exec.c:4855 pl_exec.c:4943 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не существует" -#: pl_exec.c:4867 +#: pl_exec.c:4868 #, c-format msgid "relative or absolute cursor position is null" msgstr "относительная или абсолютная позиция курсора равна NULL" -#: pl_exec.c:5105 pl_exec.c:5200 +#: pl_exec.c:5106 pl_exec.c:5201 #, 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:5182 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "переменной типа кортеж можно присвоить только составное значение" -#: pl_exec.c:5213 +#: pl_exec.c:5214 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "переменной типа запись можно присвоить только составное значение" -#: pl_exec.c:5264 +#: pl_exec.c:5265 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "присвоить значение системному столбцу \"%s\" нельзя" -#: pl_exec.c:5713 +#: pl_exec.c:5714 #, 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:5715 pl_exec.c:5727 pl_exec.c:5752 pl_exec.c:5828 pl_exec.c:5833 #, c-format msgid "query: %s" msgstr "запрос: %s" -#: pl_exec.c:5722 +#: pl_exec.c:5723 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" @@ -499,17 +499,17 @@ msgstr[0] "запрос вернул %d столбец" msgstr[1] "запрос вернул %d столбца" msgstr[2] "запрос вернул %d столбцов" -#: pl_exec.c:5826 +#: pl_exec.c:5827 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "запрос - не просто SELECT, а SELECT INTO" -#: pl_exec.c:5831 +#: pl_exec.c:5832 #, 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:6646 pl_exec.c:6686 pl_exec.c:6726 #, c-format msgid "" "type of parameter %d (%s) does not match that when preparing the plan (%s)" @@ -517,35 +517,35 @@ msgstr "" "тип параметра %d (%s) не соответствует тому, с которым подготавливался план " "(%s)" -#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263 +#: pl_exec.c:7137 pl_exec.c:7171 pl_exec.c:7245 pl_exec.c:7271 #, 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:7139 pl_exec.c:7173 pl_exec.c:7247 pl_exec.c:7273 #, 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:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "" "Измените запрос, чтобы он возвращал в точности требуемый список столбцов." -#: pl_exec.c:7656 +#: pl_exec.c:7664 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "записи \"%s\" не присвоено значение" -#: pl_exec.c:7657 +#: pl_exec.c:7665 #, 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:8353 pl_gram.y:3473 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "переменная \"%s\" объявлена как CONSTANT" diff --git a/src/pl/plpgsql/src/sql/plpgsql_call.sql b/src/pl/plpgsql/src/sql/plpgsql_call.sql index 8efc8e823ac..4cbda0382e9 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_call.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_call.sql @@ -375,6 +375,36 @@ BEGIN END $$; +-- polymorphic OUT arguments + +CREATE PROCEDURE test_proc12(a anyelement, OUT b anyelement, OUT c anyarray) +LANGUAGE plpgsql +AS $$ +BEGIN + RAISE NOTICE 'a: %', a; + b := a; + c := array[a]; +END; +$$; + +DO $$ +DECLARE _a int; _b int; _c int[]; +BEGIN + _a := 10; + CALL test_proc12(_a, _b, _c); + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; +END +$$; + +DO $$ +DECLARE _a int; _b int; _c text[]; +BEGIN + _a := 10; + CALL test_proc12(_a, _b, _c); -- error + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; +END +$$; + -- transition variable assignment @@ -492,3 +522,53 @@ CREATE FUNCTION f(int) RETURNS int AS $$ SELECT $1 + 2 $$ LANGUAGE sql; CALL outer_p(42); SELECT outer_f(42); + +-- Check that stable functions in CALL see the correct snapshot + +CREATE TABLE t_test (x int); +INSERT INTO t_test VALUES (0); + +CREATE FUNCTION f_get_x () RETURNS int +AS $$ +DECLARE l_result int; +BEGIN + SELECT x INTO l_result FROM t_test; + RETURN l_result; +END +$$ LANGUAGE plpgsql STABLE; + +CREATE PROCEDURE f_print_x (x int) +AS $$ +BEGIN + RAISE NOTICE 'f_print_x(%)', x; +END +$$ LANGUAGE plpgsql; + +-- test in non-atomic context +DO $$ +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()); + ROLLBACK; +END +$$; + +-- test in atomic context +BEGIN; + +DO $$ +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()); +END +$$; + +ROLLBACK; diff --git a/src/pl/plpgsql/src/sql/plpgsql_simple.sql b/src/pl/plpgsql/src/sql/plpgsql_simple.sql index 57020d22d60..143bf09dce4 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_simple.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_simple.sql @@ -80,3 +80,25 @@ create or replace function simplesql() returns int language sql as $$select 2 + 2$$; select simplecaller(); + + +-- Check case where called function changes from non-SRF to SRF (bug #18497) + +create or replace function simplecaller() returns int language plpgsql +as $$ +declare x int; +begin + x := simplesql(); + return x; +end$$; + +select simplecaller(); + +drop function simplesql(); + +create function simplesql() returns setof int language sql +as $$select 22 + 22$$; + +select simplecaller(); + +select simplecaller(); diff --git a/src/pl/plpython/expected/plpython_composite.out b/src/pl/plpython/expected/plpython_composite.out index bb101e07d53..674af93ddcf 100644 --- a/src/pl/plpython/expected/plpython_composite.out +++ b/src/pl/plpython/expected/plpython_composite.out @@ -569,6 +569,20 @@ SELECT * FROM return_record_2('v3') AS (v1 int, v2 int, v3 int); 1 | 2 | 3 (1 row) +-- recursion with a different inner result type didn't use to work +CREATE FUNCTION return_record_3(t text) RETURNS record AS $$ +if t == "text": + plpy.execute("SELECT * FROM return_record_3('int') AS (a int)"); + return { "a": "x" } +elif t == "int": + return { "a": 1 } +$$ LANGUAGE plpython3u; +SELECT * FROM return_record_3('text') AS (a text); + a +--- + x +(1 row) + -- multi-dimensional array of composite types. CREATE FUNCTION composite_type_as_list() RETURNS type_record[] AS $$ return [[('first', 1), ('second', 1)], [('first', 2), ('second', 2)], [('first', 3), ('second', 3)]]; diff --git a/src/pl/plpython/expected/plpython_trigger.out b/src/pl/plpython/expected/plpython_trigger.out index dd1ca32fa49..4cb90cb5204 100644 --- a/src/pl/plpython/expected/plpython_trigger.out +++ b/src/pl/plpython/expected/plpython_trigger.out @@ -618,3 +618,30 @@ SELECT * FROM trigger_test_generated; ---+--- (0 rows) +-- recursive call of a trigger mustn't corrupt TD (bug #18456) +CREATE TABLE recursive_trigger_test (a int, b int); +CREATE FUNCTION recursive_trigger_func() RETURNS trigger +LANGUAGE plpython3u +AS $$ +if TD["event"] == "UPDATE": + plpy.execute("INSERT INTO recursive_trigger_test VALUES (1, 2)") + plpy.notice("TD[event] => " + str(TD["event"]) + ", expecting UPDATE"); +else: + plpy.notice("TD[event] => " + str(TD["event"]) + ", expecting INSERT"); +return None +$$; +CREATE TRIGGER recursive_trigger_trig + AFTER INSERT OR UPDATE ON recursive_trigger_test + FOR EACH ROW EXECUTE PROCEDURE recursive_trigger_func(); +INSERT INTO recursive_trigger_test VALUES (0, 0); +NOTICE: TD[event] => INSERT, expecting INSERT +UPDATE recursive_trigger_test SET a = 11 WHERE b = 0; +NOTICE: TD[event] => INSERT, expecting INSERT +NOTICE: TD[event] => UPDATE, expecting UPDATE +SELECT * FROM recursive_trigger_test; + a | b +----+--- + 11 | 0 + 1 | 2 +(2 rows) + diff --git a/src/pl/plpython/plpy_exec.c b/src/pl/plpython/plpy_exec.c index 3145c696996..157229e96f6 100644 --- a/src/pl/plpython/plpy_exec.c +++ b/src/pl/plpython/plpy_exec.c @@ -231,7 +231,23 @@ PLy_exec_function(FunctionCallInfo fcinfo, PLyProcedure *proc) } else { - /* Normal conversion of result */ + /* + * Normal conversion of result. However, if the result is of type + * RECORD, we have to set up for that each time through, since it + * might be different from last time. + */ + if (proc->result.typoid == RECORDOID) + { + TupleDesc desc; + + if (get_call_result_type(fcinfo, NULL, &desc) != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + PLy_output_setup_record(&proc->result, desc, proc); + } + rv = PLy_output_convert(&proc->result, plrv, &fcinfo->isnull); } @@ -335,6 +351,13 @@ PLy_exec_trigger(FunctionCallInfo fcinfo, PLyProcedure *proc) PLy_output_setup_tuple(&proc->result, rel_descr, proc); PLy_input_setup_tuple(&proc->result_in, rel_descr, proc); + /* + * If the trigger is called recursively, we must push outer-level + * arguments into the stack. This must be immediately before the PG_TRY + * to ensure that the corresponding pop happens. + */ + PLy_global_args_push(proc); + PG_TRY(); { int rc PG_USED_FOR_ASSERTS_ONLY; @@ -397,6 +420,7 @@ PLy_exec_trigger(FunctionCallInfo fcinfo, PLyProcedure *proc) } PG_FINALLY(); { + PLy_global_args_pop(proc); Py_XDECREF(plargs); Py_XDECREF(plrv); } @@ -448,21 +472,6 @@ PLy_function_build_args(FunctionCallInfo fcinfo, PLyProcedure *proc) PLy_elog(ERROR, "PyDict_SetItemString() failed, while setting up arguments"); arg = NULL; } - - /* Set up output conversion for functions returning RECORD */ - if (proc->result.typoid == RECORDOID) - { - TupleDesc desc; - - if (get_call_result_type(fcinfo, NULL, &desc) != TYPEFUNC_COMPOSITE) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - - /* cache the output conversion functions */ - PLy_output_setup_record(&proc->result, desc, proc); - } } PG_CATCH(); { @@ -501,6 +510,13 @@ PLy_function_save_args(PLyProcedure *proc) result->args = PyDict_GetItemString(proc->globals, "args"); Py_XINCREF(result->args); + /* If it's a trigger, also save "TD" */ + if (proc->is_trigger) + { + result->td = PyDict_GetItemString(proc->globals, "TD"); + Py_XINCREF(result->td); + } + /* Fetch all the named arguments */ if (proc->argnames) { @@ -550,6 +566,13 @@ PLy_function_restore_args(PLyProcedure *proc, PLySavedArgs *savedargs) Py_DECREF(savedargs->args); } + /* Restore the "TD" object, too */ + if (savedargs->td) + { + PyDict_SetItemString(proc->globals, "TD", savedargs->td); + Py_DECREF(savedargs->td); + } + /* And free the PLySavedArgs struct */ pfree(savedargs); } @@ -568,8 +591,9 @@ PLy_function_drop_args(PLySavedArgs *savedargs) Py_XDECREF(savedargs->namedargs[i]); } - /* Drop ref to the "args" object, too */ + /* Drop refs to the "args" and "TD" objects, too */ Py_XDECREF(savedargs->args); + Py_XDECREF(savedargs->td); /* And free the PLySavedArgs struct */ pfree(savedargs); @@ -578,9 +602,9 @@ PLy_function_drop_args(PLySavedArgs *savedargs) /* * Save away any existing arguments for the given procedure, so that we can * install new values for a recursive call. This should be invoked before - * doing PLy_function_build_args(). + * doing PLy_function_build_args() or PLy_trigger_build_args(). * - * NB: caller must ensure that PLy_global_args_pop gets invoked once, and + * NB: callers must ensure that PLy_global_args_pop gets invoked once, and * only once, per successful completion of PLy_global_args_push. Otherwise * we'll end up out-of-sync between the actual call stack and the contents * of proc->argstack. diff --git a/src/pl/plpython/plpy_procedure.c b/src/pl/plpython/plpy_procedure.c index 79b6ef6a448..3dd3503f889 100644 --- a/src/pl/plpython/plpy_procedure.c +++ b/src/pl/plpython/plpy_procedure.c @@ -183,6 +183,7 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger) proc->fn_readonly = (procStruct->provolatile != PROVOLATILE_VOLATILE); proc->is_setof = procStruct->proretset; proc->is_procedure = (procStruct->prokind == PROKIND_PROCEDURE); + proc->is_trigger = is_trigger; proc->src = NULL; proc->argnames = NULL; proc->args = NULL; diff --git a/src/pl/plpython/plpy_procedure.h b/src/pl/plpython/plpy_procedure.h index 8968b5c92e5..5db854fc8bd 100644 --- a/src/pl/plpython/plpy_procedure.h +++ b/src/pl/plpython/plpy_procedure.h @@ -16,6 +16,7 @@ typedef struct PLySavedArgs { struct PLySavedArgs *next; /* linked-list pointer */ PyObject *args; /* "args" element of globals dict */ + PyObject *td; /* "TD" element of globals dict, if trigger */ int nargs; /* length of namedargs array */ PyObject *namedargs[FLEXIBLE_ARRAY_MEMBER]; /* named args */ } PLySavedArgs; @@ -32,6 +33,7 @@ typedef struct PLyProcedure bool fn_readonly; bool is_setof; /* true, if function returns result set */ bool is_procedure; + bool is_trigger; /* called as trigger? */ PLyObToDatum result; /* Function result output conversion info */ PLyDatumToOb result_in; /* For converting input tuples in a trigger */ char *src; /* textual procedure code, after mangling */ diff --git a/src/pl/plpython/po/es.po b/src/pl/plpython/po/es.po index 8186ef8622b..72ccc75c28d 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 12:08+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/ru.po b/src/pl/plpython/po/ru.po index 9f7a3acf19b..76eb09abf78 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 16:29+0300\n" +"POT-Creation-Date: 2024-08-01 12:51+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/sql/plpython_composite.sql b/src/pl/plpython/sql/plpython_composite.sql index 21757701cc1..1bb9b83b719 100644 --- a/src/pl/plpython/sql/plpython_composite.sql +++ b/src/pl/plpython/sql/plpython_composite.sql @@ -208,6 +208,17 @@ SELECT * FROM return_record_2('v4') AS (v1 int, v3 int, v2 int); SELECT * FROM return_record_2('v3') AS (v1 int, v3 int, v2 int); SELECT * FROM return_record_2('v3') AS (v1 int, v2 int, v3 int); +-- recursion with a different inner result type didn't use to work +CREATE FUNCTION return_record_3(t text) RETURNS record AS $$ +if t == "text": + plpy.execute("SELECT * FROM return_record_3('int') AS (a int)"); + return { "a": "x" } +elif t == "int": + return { "a": 1 } +$$ LANGUAGE plpython3u; + +SELECT * FROM return_record_3('text') AS (a text); + -- multi-dimensional array of composite types. CREATE FUNCTION composite_type_as_list() RETURNS type_record[] AS $$ return [[('first', 1), ('second', 1)], [('first', 2), ('second', 2)], [('first', 3), ('second', 3)]]; diff --git a/src/pl/plpython/sql/plpython_trigger.sql b/src/pl/plpython/sql/plpython_trigger.sql index e5504b9ab1d..f6c2ef8d6a0 100644 --- a/src/pl/plpython/sql/plpython_trigger.sql +++ b/src/pl/plpython/sql/plpython_trigger.sql @@ -467,3 +467,27 @@ FOR EACH ROW EXECUTE PROCEDURE generated_test_func1(); TRUNCATE trigger_test_generated; INSERT INTO trigger_test_generated (i) VALUES (1); SELECT * FROM trigger_test_generated; + + +-- recursive call of a trigger mustn't corrupt TD (bug #18456) + +CREATE TABLE recursive_trigger_test (a int, b int); + +CREATE FUNCTION recursive_trigger_func() RETURNS trigger +LANGUAGE plpython3u +AS $$ +if TD["event"] == "UPDATE": + plpy.execute("INSERT INTO recursive_trigger_test VALUES (1, 2)") + plpy.notice("TD[event] => " + str(TD["event"]) + ", expecting UPDATE"); +else: + plpy.notice("TD[event] => " + str(TD["event"]) + ", expecting INSERT"); +return None +$$; + +CREATE TRIGGER recursive_trigger_trig + AFTER INSERT OR UPDATE ON recursive_trigger_test + FOR EACH ROW EXECUTE PROCEDURE recursive_trigger_func(); + +INSERT INTO recursive_trigger_test VALUES (0, 0); +UPDATE recursive_trigger_test SET a = 11 WHERE b = 0; +SELECT * FROM recursive_trigger_test; diff --git a/src/pl/tcl/expected/pltcl_call.out b/src/pl/tcl/expected/pltcl_call.out index e4498375ec1..7bb5dffe5d7 100644 --- a/src/pl/tcl/expected/pltcl_call.out +++ b/src/pl/tcl/expected/pltcl_call.out @@ -66,6 +66,14 @@ END $$; NOTICE: a: 10 NOTICE: _a: 10, _b: 20 +-- syntax error in result tuple +CREATE PROCEDURE test_proc10(INOUT a text) +LANGUAGE pltcl +AS $$ +return [list a {$a + $a}]) +$$; +CALL test_proc10('abc'); +ERROR: could not parse function return value: list element in braces followed by ")" instead of space DROP PROCEDURE test_proc1; DROP PROCEDURE test_proc2; DROP PROCEDURE test_proc3; diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c index e8f9d7b289c..13341592b5c 100644 --- a/src/pl/tcl/pltcl.c +++ b/src/pl/tcl/pltcl.c @@ -1026,7 +1026,10 @@ pltcl_func_handler(PG_FUNCTION_ARGS, pltcl_call_state *call_state, /* Convert function result to tuple */ resultObj = Tcl_GetObjResult(interp); if (Tcl_ListObjGetElements(interp, resultObj, &resultObjc, &resultObjv) == TCL_ERROR) - throw_tcl_error(interp, prodesc->user_proname); + ereport(ERROR, + (errcode(ERRCODE_EXTERNAL_ROUTINE_EXCEPTION), + errmsg("could not parse function return value: %s", + utf_u2e(Tcl_GetStringResult(interp))))); tup = pltcl_build_tuple_result(interp, resultObjv, resultObjc, call_state); @@ -1292,7 +1295,7 @@ pltcl_trigger_handler(PG_FUNCTION_ARGS, pltcl_call_state *call_state, &result_Objc, &result_Objv) != TCL_OK) ereport(ERROR, (errcode(ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED), - errmsg("could not split return value from trigger: %s", + errmsg("could not parse trigger return value: %s", utf_u2e(Tcl_GetStringResult(interp))))); /* Convert function result to tuple */ @@ -1355,6 +1358,10 @@ pltcl_event_trigger_handler(PG_FUNCTION_ARGS, pltcl_call_state *call_state, /********************************************************************** * throw_tcl_error - ereport an error returned from the Tcl interpreter + * + * Caution: use this only to report errors returned by Tcl_EvalObjEx() or + * other variants of Tcl_Eval(). Other functions may not fill "errorInfo", + * so it could be unset or even contain details from some previous error. **********************************************************************/ static void throw_tcl_error(Tcl_Interp *interp, const char *proname) diff --git a/src/pl/tcl/po/de.po b/src/pl/tcl/po/de.po index e191a2bb4df..07aa4efe8ab 100644 --- a/src/pl/tcl/po/de.po +++ b/src/pl/tcl/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-08 12:09+0000\n" +"POT-Creation-Date: 2024-08-01 23:08+0000\n" "PO-Revision-Date: 2022-04-08 14:40+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -16,56 +16,61 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "PL/Tcl-Funktion, die einmal aufgerufen wird, wenn pltcl zum ersten Mal benutzt wird." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "PL/Tcl-Funktion, die einmal aufgerufen wird, wenn pltclu zum ersten Mal benutzt wird." -#: pltcl.c:637 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "Funktion »%s« ist in der falschen Sprache" -#: pltcl.c:648 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "Funktion »%s« darf nicht SECURITY DEFINER sein" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:682 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" msgstr "Verarbeiten von Parameter von %s" -#: pltcl.c:835 +#: pltcl.c:834 #, 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" -#: pltcl.c:840 +#: pltcl.c:839 #, 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" -#: pltcl.c:1013 +#: pltcl.c:1012 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "Funktion, die einen Record zurückgibt, in einem Zusammenhang aufgerufen, der Typ record nicht verarbeiten kann" -#: pltcl.c:1297 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "konnte Rückgabewert des Triggers nicht splitten: %s" +msgid "could not parse function return value: %s" +msgstr "konnte Rückgabewert der Funktion nicht parsen: %s" -#: pltcl.c:1378 pltcl.c:1808 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "konnte Rückgabewert des Triggers nicht parsen: %s" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1379 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" @@ -74,42 +79,42 @@ msgstr "" "%s\n" "in PL/Tcl-Funktion »%s«" -#: pltcl.c:1543 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "Triggerfunktionen können nur als Trigger aufgerufen werden" -#: pltcl.c:1547 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "PL/Tcl-Funktionen können keinen Rückgabetyp %s haben" -#: pltcl.c:1586 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "PL/Tcl-Funktionen können Typ %s nicht annehmen" -#: pltcl.c:1700 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "konnte interne Prozedur »%s« nicht erzeugen: %s" -#: pltcl.c:3202 +#: pltcl.c:3206 #, c-format msgid "column name/value list must have even number of elements" msgstr "Liste der Spaltennamen/-werte muss gerade Anzahl Elemente haben" -#: pltcl.c:3220 +#: pltcl.c:3224 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "Liste der Spaltennamen/-werte enthält nicht existierenden Spaltennamen »%s«" -#: pltcl.c:3227 +#: pltcl.c:3231 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "Systemattribut »%s« kann nicht gesetzt werden" -#: pltcl.c:3233 +#: pltcl.c:3237 #, c-format msgid "cannot set generated column \"%s\"" msgstr "kann generierte Spalte »%s« nicht setzen" diff --git a/src/pl/tcl/po/es.po b/src/pl/tcl/po/es.po index ff271b40461..863c623438a 100644 --- a/src/pl/tcl/po/es.po +++ b/src/pl/tcl/po/es.po @@ -10,7 +10,7 @@ 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" +"POT-Creation-Date: 2024-08-01 12:08+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \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:3206 #, 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:3224 #, 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:3231 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "no se puede definir el atributo de sistema «%s»" -#: pltcl.c:3230 +#: pltcl.c:3237 #, 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..34f0972a347 100644 --- a/src/pl/tcl/po/fr.po +++ b/src/pl/tcl/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\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:27+0000\n" +"PO-Revision-Date: 2024-07-22 14:45+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.4.4\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,42 +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:3206 #, 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:3224 #, 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:3231 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "ne peut pas initialiser l'attribut système « %s »" -#: pltcl.c:3233 +#: pltcl.c:3237 #, c-format msgid "cannot set generated column \"%s\"" msgstr "ne peut pas initialiser la colonne générée « %s »" @@ -127,6 +132,10 @@ msgstr "ne peut pas initialiser la colonne générée « %s »" #~ msgid "could not load module \"unknown\": %s" #~ msgstr "n'a pas pu charger le module « unknown » : %s" +#, 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 "module \"unknown\" not found in pltcl_modules" #~ msgstr "module « unkown » introuvable dans pltcl_modules" diff --git a/src/pl/tcl/po/ja.po b/src/pl/tcl/po/ja.po index 15bd6116abe..654b316de0c 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 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-07-14 10:48+0900\n" -"PO-Revision-Date: 2019-06-11 17:26+0900\n" +"POT-Creation-Date: 2024-06-06 10:47+0900\n" +"PO-Revision-Date: 2024-06-06 16:13+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -16,58 +16,63 @@ msgstr "" "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.4\n" +"X-Generator: Poedit 1.8.13\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "pltcl が最初に使用される際に一度だけ呼び出される PL/Tcl 関数。" -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "pltclu が最初に使用される際に一度だけ呼び出される PL/TclU 関数。" -#: 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 "このコンテキストでは、集合値の関数は集合を受け付けられません" -#: pltcl.c:840 +#: pltcl.c:839 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "マテリアライズモードが必要ですが、現在のコンテクストで禁止されています" -#: 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" @@ -76,42 +81,45 @@ 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:3206 #, c-format msgid "column name/value list must have even number of elements" msgstr "列名/値のリストの要素は偶数個でなければなりません" -#: pltcl.c:3219 +#: pltcl.c:3224 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "列名/値のリストの中に、存在しない列名\"%s\"が含まれています" -#: pltcl.c:3226 +#: pltcl.c:3231 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "システム属性\"%s\"は設定できません" -#: pltcl.c:3232 +#: pltcl.c:3237 #, 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..4c9c2f5ce7a 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-08-01 12:51+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:3206 #, c-format msgid "column name/value list must have even number of elements" msgstr "в списке имён/значений столбцов должно быть чётное число элементов" -#: pltcl.c:3217 +#: pltcl.c:3224 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "" "список имён/значений столбцов содержит имя несуществующего столбца \"%s\"" -#: pltcl.c:3224 +#: pltcl.c:3231 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "присвоить значение системному атрибуту \"%s\" нельзя" -#: pltcl.c:3230 +#: pltcl.c:3237 #, 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..f73a7fbdc0c 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 16\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-13 15:57+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:3206 #, 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:3224 #, 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:3231 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "kan inte sätta systemattribut \"%s\"" -#: pltcl.c:3233 +#: pltcl.c:3237 #, c-format msgid "cannot set generated column \"%s\"" msgstr "kan inte sätta genererad kolumn \"%s\"" diff --git a/src/pl/tcl/sql/pltcl_call.sql b/src/pl/tcl/sql/pltcl_call.sql index 37efbdefc23..fe64361c732 100644 --- a/src/pl/tcl/sql/pltcl_call.sql +++ b/src/pl/tcl/sql/pltcl_call.sql @@ -71,6 +71,17 @@ END $$; +-- syntax error in result tuple + +CREATE PROCEDURE test_proc10(INOUT a text) +LANGUAGE pltcl +AS $$ +return [list a {$a + $a}]) +$$; + +CALL test_proc10('abc'); + + DROP PROCEDURE test_proc1; DROP PROCEDURE test_proc2; DROP PROCEDURE test_proc3; diff --git a/src/test/isolation/expected/eval-plan-qual.out b/src/test/isolation/expected/eval-plan-qual.out index 73e0aeb50e7..2cd88274963 100644 --- a/src/test/isolation/expected/eval-plan-qual.out +++ b/src/test/isolation/expected/eval-plan-qual.out @@ -1307,3 +1307,29 @@ a|b|c| d 2|2|2|1004 (2 rows) + +starting permutation: sys1 sysupd2 c1 c2 +step sys1: + UPDATE pg_class SET reltuples = 123 WHERE oid = 'accounts'::regclass; + +step sysupd2: + UPDATE pg_class SET reltuples = reltuples * 2 + WHERE oid = 'accounts'::regclass; + +step c1: COMMIT; +step sysupd2: <... completed> +step c2: COMMIT; + +starting permutation: sys1 sysmerge2 c1 c2 +step sys1: + UPDATE pg_class SET reltuples = 123 WHERE oid = 'accounts'::regclass; + +step sysmerge2: + MERGE INTO pg_class + USING (SELECT 'accounts'::regclass AS o) j + ON o = oid + WHEN MATCHED THEN UPDATE SET reltuples = reltuples * 2; + +step c1: COMMIT; +step sysmerge2: <... completed> +step c2: COMMIT; diff --git a/src/test/isolation/expected/inplace-inval.out b/src/test/isolation/expected/inplace-inval.out new file mode 100644 index 00000000000..e68eca5de98 --- /dev/null +++ b/src/test/isolation/expected/inplace-inval.out @@ -0,0 +1,24 @@ +Parsed test spec with 3 sessions + +starting permutation: cachefill3 cir1 cic2 ddl3 +step cachefill3: TABLE newly_indexed; +c +- +(0 rows) + +step cir1: BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK; +step cic2: CREATE INDEX i2 ON newly_indexed (c); +step ddl3: ALTER TABLE newly_indexed ADD extra int; + +starting permutation: cir1 cic2 ddl3 read1 +step cir1: BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK; +step cic2: CREATE INDEX i2 ON newly_indexed (c); +step ddl3: ALTER TABLE newly_indexed ADD extra int; +step read1: + SELECT relhasindex FROM pg_class WHERE oid = 'newly_indexed'::regclass; + +relhasindex +----------- +t +(1 row) + diff --git a/src/test/isolation/expected/intra-grant-inplace-db.out b/src/test/isolation/expected/intra-grant-inplace-db.out new file mode 100644 index 00000000000..432ece56361 --- /dev/null +++ b/src/test/isolation/expected/intra-grant-inplace-db.out @@ -0,0 +1,28 @@ +Parsed test spec with 3 sessions + +starting permutation: snap3 b1 grant1 vac2 snap3 c1 cmp3 +step snap3: + INSERT INTO frozen_witness + SELECT datfrozenxid FROM pg_database WHERE datname = current_catalog; + +step b1: BEGIN; +step grant1: + GRANT TEMP ON DATABASE isolation_regression TO regress_temp_grantee; + +step vac2: VACUUM (FREEZE); +step snap3: + INSERT INTO frozen_witness + SELECT datfrozenxid FROM pg_database WHERE datname = current_catalog; + +step c1: COMMIT; +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) + diff --git a/src/test/isolation/expected/intra-grant-inplace.out b/src/test/isolation/expected/intra-grant-inplace.out new file mode 100644 index 00000000000..cc1e47a302c --- /dev/null +++ b/src/test/isolation/expected/intra-grant-inplace.out @@ -0,0 +1,225 @@ +Parsed test spec with 5 sessions + +starting permutation: b1 grant1 read2 addk2 c1 read2 +step b1: BEGIN; +step grant1: + GRANT SELECT ON intra_grant_inplace TO PUBLIC; + +step read2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass; + +relhasindex +----------- +f +(1 row) + +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step c1: COMMIT; +step read2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass; + +relhasindex +----------- +f +(1 row) + + +starting permutation: keyshr5 addk2 +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); + +starting permutation: keyshr5 b3 sfnku3 addk2 r3 +step keyshr5: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR KEY SHARE; + +relhasindex +----------- +f +(1 row) + +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 addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step r3: ROLLBACK; + +starting permutation: b2 sfnku2 addk2 c2 +step b2: BEGIN; +step sfnku2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR NO KEY UPDATE; + +relhasindex +----------- +f +(1 row) + +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step c2: COMMIT; + +starting permutation: keyshr5 b2 sfnku2 addk2 c2 +step keyshr5: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR KEY SHARE; + +relhasindex +----------- +f +(1 row) + +step b2: BEGIN; +step sfnku2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR NO KEY UPDATE; + +relhasindex +----------- +f +(1 row) + +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step c2: COMMIT; + +starting permutation: b3 sfu3 b1 grant1 read2 addk2 r3 c1 read2 +step b3: BEGIN ISOLATION LEVEL READ COMMITTED; +step sfu3: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR UPDATE; + +relhasindex +----------- +f +(1 row) + +step b1: BEGIN; +step grant1: + GRANT SELECT ON intra_grant_inplace TO PUBLIC; + +step read2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass; + +relhasindex +----------- +f +(1 row) + +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step r3: ROLLBACK; +step grant1: <... completed> +step c1: COMMIT; +step read2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass; + +relhasindex +----------- +f +(1 row) + + +starting permutation: b2 sfnku2 b1 grant1 addk2 c2 c1 read2 +step b2: BEGIN; +step sfnku2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR NO KEY UPDATE; + +relhasindex +----------- +f +(1 row) + +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 grant1: <... completed> +step c1: COMMIT; +step read2: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass; + +relhasindex +----------- +f +(1 row) + + +starting permutation: b1 grant1 b3 sfu3 revoke4 c1 r3 +step b1: BEGIN; +step grant1: + GRANT SELECT ON intra_grant_inplace TO PUBLIC; + +step b3: BEGIN ISOLATION LEVEL READ COMMITTED; +step sfu3: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR UPDATE; + +step revoke4: + DO $$ + BEGIN + REVOKE SELECT ON intra_grant_inplace FROM PUBLIC; + EXCEPTION WHEN others THEN + RAISE WARNING 'got: %', regexp_replace(sqlerrm, '[0-9]+', 'REDACTED'); + END + $$; + +step c1: COMMIT; +step sfu3: <... completed> +relhasindex +----------- +f +(1 row) + +s4: WARNING: got: tuple concurrently updated +step revoke4: <... completed> +step r3: ROLLBACK; + +starting permutation: b1 drop1 b3 sfu3 revoke4 c1 r3 +step b1: BEGIN; +step drop1: + DROP TABLE intra_grant_inplace; + +step b3: BEGIN ISOLATION LEVEL READ COMMITTED; +step sfu3: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR UPDATE; + +step revoke4: + DO $$ + BEGIN + REVOKE SELECT ON intra_grant_inplace FROM PUBLIC; + EXCEPTION WHEN others THEN + RAISE WARNING 'got: %', regexp_replace(sqlerrm, '[0-9]+', 'REDACTED'); + END + $$; + +step c1: COMMIT; +step sfu3: <... completed> +relhasindex +----------- +(0 rows) + +s4: WARNING: got: tuple concurrently deleted +step revoke4: <... completed> +step r3: ROLLBACK; diff --git a/src/test/isolation/isolation_schedule b/src/test/isolation/isolation_schedule index b2be88ead1d..9b0bb8a29b3 100644 --- a/src/test/isolation/isolation_schedule +++ b/src/test/isolation/isolation_schedule @@ -37,6 +37,9 @@ test: fk-snapshot test: subxid-overflow test: eval-plan-qual test: eval-plan-qual-trigger +test: inplace-inval +test: intra-grant-inplace +test: intra-grant-inplace-db test: lock-update-delete test: lock-update-traversal test: inherit-temp diff --git a/src/test/isolation/specs/eval-plan-qual.spec b/src/test/isolation/specs/eval-plan-qual.spec index 735c671734e..a4a15b3542c 100644 --- a/src/test/isolation/specs/eval-plan-qual.spec +++ b/src/test/isolation/specs/eval-plan-qual.spec @@ -192,6 +192,12 @@ step simplepartupdate_noroute { update parttbl set b = 2 where c = 1 returning *; } +# test system class updates + +step sys1 { + UPDATE pg_class SET reltuples = 123 WHERE oid = 'accounts'::regclass; +} + session s2 setup { BEGIN ISOLATION LEVEL READ COMMITTED; } @@ -280,6 +286,18 @@ step wnested2 { ); } +step sysupd2 { + UPDATE pg_class SET reltuples = reltuples * 2 + WHERE oid = 'accounts'::regclass; +} + +step sysmerge2 { + MERGE INTO pg_class + USING (SELECT 'accounts'::regclass AS o) j + ON o = oid + WHEN MATCHED THEN UPDATE SET reltuples = reltuples * 2; +} + step c2 { COMMIT; } step r2 { ROLLBACK; } @@ -376,3 +394,6 @@ permutation simplepartupdate complexpartupdate c1 c2 read_part permutation simplepartupdate_route1to2 complexpartupdate_route_err1 c1 c2 read_part permutation simplepartupdate_noroute complexpartupdate_route c1 c2 read_part permutation simplepartupdate_noroute complexpartupdate_doesnt_route c1 c2 read_part + +permutation sys1 sysupd2 c1 c2 +permutation sys1 sysmerge2 c1 c2 diff --git a/src/test/isolation/specs/inplace-inval.spec b/src/test/isolation/specs/inplace-inval.spec new file mode 100644 index 00000000000..96954fd86c4 --- /dev/null +++ b/src/test/isolation/specs/inplace-inval.spec @@ -0,0 +1,40 @@ +# If a heap_update() caller retrieves its oldtup from a cache, it's possible +# for that cache entry to predate an inplace update, causing loss of that +# inplace update. This arises because the transaction may abort before +# sending the inplace invalidation message to the shared queue. + +setup +{ + CREATE TABLE newly_indexed (c int); +} + +teardown +{ + DROP TABLE newly_indexed; +} + +session s1 +step cir1 { BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK; } +step read1 { + SELECT relhasindex FROM pg_class WHERE oid = 'newly_indexed'::regclass; +} + +session s2 +step cic2 { CREATE INDEX i2 ON newly_indexed (c); } + +session s3 +step cachefill3 { TABLE newly_indexed; } +step ddl3 { ALTER TABLE newly_indexed ADD extra int; } + + +# XXX shows an extant bug. Adding step read1 at the end would usually print +# relhasindex=f (not wanted). This does not reach the unwanted behavior under +# -DCATCACHE_FORCE_RELEASE and friends. +permutation + cachefill3 # populates the pg_class row in the catcache + cir1 # sets relhasindex=true; rollback discards cache inval + cic2 # sees relhasindex=true, skips changing it (so no inval) + ddl3 # cached row as the oldtup of an update, losing relhasindex + +# without cachefill3, no bug +permutation cir1 cic2 ddl3 read1 diff --git a/src/test/isolation/specs/intra-grant-inplace-db.spec b/src/test/isolation/specs/intra-grant-inplace-db.spec new file mode 100644 index 00000000000..bbecd5ddde5 --- /dev/null +++ b/src/test/isolation/specs/intra-grant-inplace-db.spec @@ -0,0 +1,46 @@ +# GRANT's lock is the catalog tuple xmax. GRANT doesn't acquire a heavyweight +# lock on the object undergoing an ACL change. In-place updates, namely +# datfrozenxid, need special code to cope. + +setup +{ + CREATE ROLE regress_temp_grantee; +} + +teardown +{ + REVOKE ALL ON DATABASE isolation_regression FROM regress_temp_grantee; + DROP ROLE regress_temp_grantee; +} + +# heap_update(pg_database) +session s1 +step b1 { BEGIN; } +step grant1 { + GRANT TEMP ON DATABASE isolation_regression TO regress_temp_grantee; +} +step c1 { COMMIT; } + +# inplace update +session s2 +step vac2 { VACUUM (FREEZE); } + +# observe datfrozenxid +session s3 +setup { + CREATE TEMP TABLE frozen_witness (x xid); +} +step snap3 { + INSERT INTO frozen_witness + SELECT datfrozenxid FROM pg_database WHERE datname = current_catalog; +} +step cmp3 { + SELECT 'datfrozenxid retreated' + FROM pg_database + WHERE datname = current_catalog + AND age(datfrozenxid) > (SELECT min(age(x)) FROM frozen_witness); +} + + +# 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 new file mode 100644 index 00000000000..3cd696b81f2 --- /dev/null +++ b/src/test/isolation/specs/intra-grant-inplace.spec @@ -0,0 +1,153 @@ +# GRANT's lock is the catalog tuple xmax. GRANT doesn't acquire a heavyweight +# lock on the object undergoing an ACL change. Inplace updates, such as +# relhasindex=true, need special code to cope. + +setup +{ + CREATE TABLE intra_grant_inplace (c int); +} + +teardown +{ + DROP TABLE IF EXISTS intra_grant_inplace; +} + +# heap_update() +session s1 +step b1 { BEGIN; } +step grant1 { + GRANT SELECT ON intra_grant_inplace TO PUBLIC; +} +step drop1 { + DROP TABLE intra_grant_inplace; +} +step c1 { COMMIT; } + +# inplace update +session s2 +step read2 { + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass; +} +step b2 { BEGIN; } +step addk2 { ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); } +step sfnku2 { + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR NO KEY UPDATE; +} +step c2 { COMMIT; } + +# rowmarks +session s3 +step b3 { BEGIN ISOLATION LEVEL READ COMMITTED; } +step sfnku3 { + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR NO KEY UPDATE; +} +step sfu3 { + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR UPDATE; +} +step r3 { ROLLBACK; } + +# Additional heap_update() +session s4 +# swallow error message to keep any OID value out of expected output +step revoke4 { + DO $$ + BEGIN + REVOKE SELECT ON intra_grant_inplace FROM PUBLIC; + EXCEPTION WHEN others THEN + RAISE WARNING 'got: %', regexp_replace(sqlerrm, '[0-9]+', 'REDACTED'); + END + $$; +} + +# Additional rowmarks +session s5 +setup { BEGIN; } +step keyshr5 { + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR KEY SHARE; +} +teardown { ROLLBACK; } + + +# XXX extant bugs: permutation comments refer to planned post-bugfix behavior + +permutation + b1 + grant1 + read2 + addk2(c1) # inplace waits + c1 + read2 + +# inplace thru KEY SHARE +permutation + keyshr5 + addk2 + +# inplace wait NO KEY UPDATE w/ KEY SHARE +permutation + keyshr5 + b3 + sfnku3 + addk2(r3) + r3 + +# same-xact rowmark +permutation + b2 + sfnku2 + addk2 + c2 + +# same-xact rowmark in multixact +permutation + keyshr5 + b2 + sfnku2 + addk2 + c2 + +permutation + b3 + sfu3 + b1 + grant1(r3) # acquire LockTuple(), await sfu3 xmax + read2 + addk2(c1) # block in LockTuple() behind grant1 + r3 # unblock grant1; addk2 now awaits grant1 xmax + c1 + read2 + +permutation + b2 + sfnku2 + b1 + grant1(c2) # acquire LockTuple(), await sfnku2 xmax + addk2 # block in LockTuple() behind grant1 = deadlock + c2 + c1 + read2 + +# SearchSysCacheLocked1() calling LockRelease() +permutation + b1 + grant1 + b3 + sfu3(c1) # acquire LockTuple(), await grant1 xmax + revoke4(sfu3) # block in LockTuple() behind sfu3 + c1 + r3 # revoke4 unlocks old tuple and finds new + +# SearchSysCacheLocked1() finding a tuple, then no tuple +permutation + b1 + drop1 + b3 + sfu3(c1) # acquire LockTuple(), await drop1 xmax + revoke4(sfu3) # block in LockTuple() behind sfu3 + c1 # sfu3 locks none; revoke4 unlocks old and finds none + r3 diff --git a/src/test/modules/test_pg_dump/expected/test_pg_dump.out b/src/test/modules/test_pg_dump/expected/test_pg_dump.out index f14f3a66646..8df7f090544 100644 --- a/src/test/modules/test_pg_dump/expected/test_pg_dump.out +++ b/src/test/modules/test_pg_dump/expected/test_pg_dump.out @@ -91,3 +91,10 @@ ALTER EXTENSION test_pg_dump DROP SERVER s0; ALTER EXTENSION test_pg_dump DROP TABLE test_pg_dump_t1; ALTER EXTENSION test_pg_dump DROP TYPE test_pg_dump_e1; ALTER EXTENSION test_pg_dump DROP VIEW test_pg_dump_v1; +DROP EXTENSION test_pg_dump; +-- shouldn't be anything left in pg_init_privs +SELECT * FROM pg_init_privs WHERE privtype = 'e'; + objoid | classoid | objsubid | privtype | initprivs +--------+----------+----------+----------+----------- +(0 rows) + diff --git a/src/test/modules/test_pg_dump/sql/test_pg_dump.sql b/src/test/modules/test_pg_dump/sql/test_pg_dump.sql index a61a7c8c4ce..7f2e7d32f6d 100644 --- a/src/test/modules/test_pg_dump/sql/test_pg_dump.sql +++ b/src/test/modules/test_pg_dump/sql/test_pg_dump.sql @@ -106,3 +106,8 @@ ALTER EXTENSION test_pg_dump DROP SERVER s0; ALTER EXTENSION test_pg_dump DROP TABLE test_pg_dump_t1; ALTER EXTENSION test_pg_dump DROP TYPE test_pg_dump_e1; ALTER EXTENSION test_pg_dump DROP VIEW test_pg_dump_v1; + +DROP EXTENSION test_pg_dump; + +-- shouldn't be anything left in pg_init_privs +SELECT * FROM pg_init_privs WHERE privtype = 'e'; diff --git a/src/test/modules/test_predtest/test_predtest.c b/src/test/modules/test_predtest/test_predtest.c index d44e66d6f64..3397659e00d 100644 --- a/src/test/modules/test_predtest/test_predtest.c +++ b/src/test/modules/test_predtest/test_predtest.c @@ -74,7 +74,7 @@ test_predtest(PG_FUNCTION_ARGS) if (tupdesc->natts != 2 || TupleDescAttr(tupdesc, 0)->atttypid != BOOLOID || TupleDescAttr(tupdesc, 1)->atttypid != BOOLOID) - elog(ERROR, "query must yield two boolean columns"); + elog(ERROR, "test_predtest query must yield two boolean columns"); s_i_holds = w_i_holds = s_r_holds = w_r_holds = true; for (i = 0; i < SPI_processed; i++) @@ -124,11 +124,11 @@ test_predtest(PG_FUNCTION_ARGS) */ cplan = SPI_plan_get_cached_plan(spiplan); - if (list_length(cplan->stmt_list) != 1) - elog(ERROR, "failed to decipher query plan"); + if (cplan == NULL || list_length(cplan->stmt_list) != 1) + elog(ERROR, "test_predtest query string must contain exactly one query"); stmt = linitial_node(PlannedStmt, cplan->stmt_list); if (stmt->commandType != CMD_SELECT) - elog(ERROR, "failed to decipher query plan"); + elog(ERROR, "test_predtest query must be a SELECT"); plan = stmt->planTree; Assert(list_length(plan->targetlist) >= 2); clause1 = linitial_node(TargetEntry, plan->targetlist)->expr; diff --git a/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm b/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm index 764f0a53801..3c2aca1c5d7 100644 --- a/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm +++ b/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm @@ -1,5 +1,5 @@ -# Copyright (c) 2021-2023, PostgreSQL Global Development Group +# Copyright (c) 2021-2024, PostgreSQL Global Development Group =pod @@ -54,7 +54,7 @@ initiated by PostgreSQL::Test::Cluster. package PostgreSQL::Test::BackgroundPsql; use strict; -use warnings; +use warnings FATAL => 'all'; use Carp; use Config; @@ -68,7 +68,7 @@ use Test::More; =over -=item PostgreSQL::Test::BackgroundPsql->new(interactive, @params) +=item PostgreSQL::Test::BackgroundPsql->new(interactive, @psql_params, timeout) Builds a new object of class C for either an interactive or background session and starts it. If C is @@ -81,7 +81,7 @@ string. For C sessions, IO::Pty is required. sub new { my $class = shift; - my ($interactive, $psql_params) = @_; + my ($interactive, $psql_params, $timeout) = @_; my $psql = { 'stdin' => '', 'stdout' => '', @@ -96,8 +96,10 @@ sub new "Forbidden caller of constructor: package: $package, file: $file:$line" unless $package->isa('PostgreSQL::Test::Cluster'); - $psql->{timeout} = - IPC::Run::timeout($PostgreSQL::Test::Utils::timeout_default); + $psql->{timeout} = IPC::Run::timeout( + defined($timeout) + ? $timeout + : $PostgreSQL::Test::Utils::timeout_default); if ($interactive) { @@ -221,7 +223,7 @@ sub query $output = $self->{stdout}; # remove banner again, our caller doesn't care - $output =~ s/\n$banner$//s; + $output =~ s/\n$banner\n$//s; # clear out output for the next query $self->{stdout} = ''; diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 7743ffd544d..50160407bc2 100644 --- a/src/test/perl/PostgreSQL/Test/Cluster.pm +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -127,6 +127,14 @@ our $min_compat = 12; # list of file reservations made by get_free_port my @port_reservation_files; +# We want to choose a server port above the range that servers typically use +# on Unix systems and below the range those systems typically use for ephemeral +# client ports. +# That way we minimize the risk of getting a port collision. These two values +# are chosen to reflect that. We will always choose a port in this range. +my $port_lower_bound = 10200; +my $port_upper_bound = 32767; + INIT { @@ -151,7 +159,8 @@ INIT $ENV{PGDATABASE} = 'postgres'; # Tracking of last port value assigned to accelerate free port lookup. - $last_port_assigned = int(rand() * 16384) + 49152; + my $num_ports = $port_upper_bound - $port_lower_bound; + $last_port_assigned = int(rand() * $num_ports) + $port_lower_bound; # Set the port lock directory @@ -1516,7 +1525,7 @@ sub get_free_port { # advance $port, wrapping correctly around range end - $port = 49152 if ++$port >= 65536; + $port = $port_lower_bound if ++$port > $port_upper_bound; print "# Checking port $port\n"; # Check first that candidate port number is not included in @@ -1972,8 +1981,6 @@ sub psql Invoke B on B<$dbname> and return a BackgroundPsql object. -A timeout of $PostgreSQL::Test::Utils::timeout_default is set up. - psql is invoked in tuples-only unaligned mode with reading of B<.psqlrc> disabled. That may be overridden by passing extra psql parameters. @@ -1991,6 +1998,11 @@ By default, the B method invokes the B program with ON_ERROR_STOP=1 set, so SQL execution is stopped at the first error and exit code 3 is returned. Set B to 0 to ignore errors instead. +=item timeout => 'interval' + +Set a timeout for a background psql session. By default, timeout of +$PostgreSQL::Test::Utils::timeout_default is set up. + =item replication => B If set, add B to the conninfo string. @@ -2012,6 +2024,7 @@ sub background_psql local %ENV = $self->_get_env(); my $replication = $params{replication}; + my $timeout = undef; my @psql_params = ( $self->installed_command('psql'), @@ -2023,12 +2036,13 @@ sub background_psql '-'); $params{on_error_stop} = 1 unless defined $params{on_error_stop}; + $timeout = $params{timeout} if defined $params{timeout}; push @psql_params, '-v', 'ON_ERROR_STOP=1' if $params{on_error_stop}; push @psql_params, @{ $params{extra_params} } if defined $params{extra_params}; - return PostgreSQL::Test::BackgroundPsql->new(0, \@psql_params); + return PostgreSQL::Test::BackgroundPsql->new(0, \@psql_params, $timeout); } =pod diff --git a/src/test/recovery/meson.build b/src/test/recovery/meson.build index 9e9c68d0513..f5c1021a5ea 100644 --- a/src/test/recovery/meson.build +++ b/src/test/recovery/meson.build @@ -44,6 +44,7 @@ tests += { 't/036_truncated_dropped.pl', 't/037_invalid_database.pl', 't/039_end_of_wal.pl', + 't/043_vacuum_horizon_floor.pl', ], }, } diff --git a/src/test/recovery/t/001_stream_rep.pl b/src/test/recovery/t/001_stream_rep.pl index 0c72ba09441..710bdd54dab 100644 --- a/src/test/recovery/t/001_stream_rep.pl +++ b/src/test/recovery/t/001_stream_rep.pl @@ -76,6 +76,14 @@ print "standby 2: $result\n"; is($result, qq(33|0|t), 'check streamed sequence content on standby 2'); +# Check pg_sequence_last_value() returns NULL for unlogged sequence on standby +$node_primary->safe_psql('postgres', + "CREATE UNLOGGED SEQUENCE ulseq; SELECT nextval('ulseq')"); +$node_primary->wait_for_replay_catchup($node_standby_1); +is($node_standby_1->safe_psql('postgres', + "SELECT pg_sequence_last_value('ulseq'::regclass) IS NULL"), + 't', 'pg_sequence_last_value() on unlogged sequence on standby 1'); + # Check that only READ-only queries can run on standbys is($node_standby_1->psql('postgres', 'INSERT INTO tab_int VALUES (1)'), 3, 'read-only queries on standby 1'); diff --git a/src/test/recovery/t/002_archiving.pl b/src/test/recovery/t/002_archiving.pl index 48e00f9e296..4aa502bb66d 100644 --- a/src/test/recovery/t/002_archiving.pl +++ b/src/test/recovery/t/002_archiving.pl @@ -96,7 +96,7 @@ # creating a RECOVERYHISTORY. my $primary_archive = $node_primary->archive_dir; $caughtup_query = - "SELECT size IS NOT NULL FROM pg_stat_file('$primary_archive/00000002.history')"; + "SELECT size IS NOT NULL FROM pg_stat_file('$primary_archive/00000002.history', true)"; $node_primary->poll_query_until('postgres', $caughtup_query) or die "Timed out while waiting for archiving of 00000002.history"; diff --git a/src/test/recovery/t/009_twophase.pl b/src/test/recovery/t/009_twophase.pl index e1273fd0f12..b790b66b38b 100644 --- a/src/test/recovery/t/009_twophase.pl +++ b/src/test/recovery/t/009_twophase.pl @@ -308,6 +308,52 @@ sub configure_and_reload $cur_primary->psql('postgres', "COMMIT PREPARED 'xact_009_12'"); +############################################################################### +# Check visibility of prepared transactions in standby after a restart while +# primary is down. +############################################################################### + +$cur_primary->psql( + 'postgres', " + CREATE TABLE t_009_tbl_standby_mvcc (id int, msg text); + BEGIN; + INSERT INTO t_009_tbl_standby_mvcc VALUES (1, 'issued to ${cur_primary_name}'); + SAVEPOINT s1; + INSERT INTO t_009_tbl_standby_mvcc VALUES (2, 'issued to ${cur_primary_name}'); + PREPARE TRANSACTION 'xact_009_standby_mvcc'; + "); +$cur_primary->stop; +$cur_standby->restart; + +# Acquire a snapshot in standby, before we commit the prepared transaction +my $standby_session = $cur_standby->background_psql('postgres', on_error_die => 1); +$standby_session->query_safe("BEGIN ISOLATION LEVEL REPEATABLE READ"); +$psql_out = $standby_session->query_safe( + "SELECT count(*) FROM t_009_tbl_standby_mvcc"); +is($psql_out, '0', + "Prepared transaction not visible in standby before commit"); + +# Commit the transaction in primary +$cur_primary->start; +$cur_primary->psql('postgres', " +SET synchronous_commit='remote_apply'; -- To ensure the standby is caught up +COMMIT PREPARED 'xact_009_standby_mvcc'; +"); + +# Still not visible to the old snapshot +$psql_out = $standby_session->query_safe( + "SELECT count(*) FROM t_009_tbl_standby_mvcc"); +is($psql_out, '0', + "Committed prepared transaction not visible to old snapshot in standby"); + +# Is visible to a new snapshot +$standby_session->query_safe("COMMIT"); +$psql_out = $standby_session->query_safe( + "SELECT count(*) FROM t_009_tbl_standby_mvcc"); +is($psql_out, '2', + "Committed prepared transaction is visible to new snapshot in standby"); +$standby_session->quit; + ############################################################################### # Check for a lock conflict between prepared transaction with DDL inside and # replay of XLOG_STANDBY_LOCK wal record. diff --git a/src/test/recovery/t/027_stream_regress.pl b/src/test/recovery/t/027_stream_regress.pl index f2f4e77626f..f7e46a70718 100644 --- a/src/test/recovery/t/027_stream_regress.pl +++ b/src/test/recovery/t/027_stream_regress.pl @@ -117,6 +117,40 @@ [ 'diff', $outputdir . '/primary.dump', $outputdir . '/standby.dump' ], 'compare primary and standby dumps'); +# Likewise for the catalogs of the regression database, after disabling +# autovacuum to make fields like relpages stop changing. +$node_primary->append_conf('postgresql.conf', 'autovacuum = off'); +$node_primary->restart; +$node_primary->wait_for_replay_catchup($node_standby_1); +command_ok( + [ + 'pg_dump', + ('--schema', 'pg_catalog'), + ('-f', $outputdir . '/catalogs_primary.dump'), + '--no-sync', + ('-p', $node_primary->port), + '--no-unlogged-table-data', + 'regression' + ], + 'dump catalogs of primary server'); +command_ok( + [ + 'pg_dump', + ('--schema', 'pg_catalog'), + ('-f', $outputdir . '/catalogs_standby.dump'), + '--no-sync', + ('-p', $node_standby_1->port), + 'regression' + ], + 'dump catalogs of standby server'); +command_ok( + [ + 'diff', + $outputdir . '/catalogs_primary.dump', + $outputdir . '/catalogs_standby.dump' + ], + 'compare primary and standby catalog dumps'); + # Check some data from pg_stat_statements. $node_primary->safe_psql('postgres', 'CREATE EXTENSION pg_stat_statements'); # This gathers data based on the first characters for some common query types, diff --git a/src/test/recovery/t/043_vacuum_horizon_floor.pl b/src/test/recovery/t/043_vacuum_horizon_floor.pl new file mode 100644 index 00000000000..90141d365c0 --- /dev/null +++ b/src/test/recovery/t/043_vacuum_horizon_floor.pl @@ -0,0 +1,255 @@ +use strict; +use warnings; +use PostgreSQL::Test::Cluster; +use Test::More; + +# Test that vacuum prunes away all dead tuples killed before OldestXmin +# +# This test creates a table on a primary, updates the table to generate dead +# tuples for vacuum, and then, during the vacuum, uses the replica to force +# GlobalVisState->maybe_needed on the primary to move backwards and precede +# the value of OldestXmin set at the beginning of vacuuming the table. + +# Set up nodes +my $node_primary = PostgreSQL::Test::Cluster->new('primary'); +$node_primary->init(allows_streaming => 'physical'); + +$node_primary->append_conf( + 'postgresql.conf', qq[ +hot_standby_feedback = on +autovacuum = off +log_min_messages = INFO +maintenance_work_mem = 1024 +]); +$node_primary->start; + +my $node_replica = PostgreSQL::Test::Cluster->new('standby'); + +$node_primary->backup('my_backup'); +$node_replica->init_from_backup($node_primary, 'my_backup', + has_streaming => 1); + +$node_replica->start; + +my $test_db = "test_db"; +$node_primary->safe_psql('postgres', "CREATE DATABASE $test_db"); + +# Save the original connection info for later use +my $orig_conninfo = $node_primary->connstr(); + +my $table1 = "vac_horizon_floor_table"; + +# Long-running Primary Session A +my $psql_primaryA = + $node_primary->background_psql($test_db, on_error_stop => 1); + +# Long-running Primary Session B +my $psql_primaryB = + $node_primary->background_psql($test_db, on_error_stop => 1); + +# Because vacuum's first pass, pruning, is where we use the GlobalVisState to +# check tuple visibility, GlobalVisState->maybe_needed must move backwards +# during pruning before checking the visibility for a tuple which would have +# been considered HEAPTUPLE_DEAD prior to maybe_needed moving backwards but +# HEAPTUPLE_RECENTLY_DEAD compared to the new, older value of maybe_needed. +# +# We must not only force the horizon on the primary to move backwards but also +# force the vacuuming backend's GlobalVisState to be updated. GlobalVisState +# is forced to update during index vacuuming. +# +# _bt_pendingfsm_finalize() calls GetOldestNonRemovableTransactionId() at the +# end of a round of index vacuuming, updating the backend's GlobalVisState +# and, in our case, moving maybe_needed backwards. +# +# Then vacuum's first (pruning) pass will continue and pruning will find our +# later inserted and updated tuple HEAPTUPLE_RECENTLY_DEAD when compared to +# maybe_needed but HEAPTUPLE_DEAD when compared to OldestXmin. +# +# Thus, we must force at least two rounds of index vacuuming to ensure that +# some tuple visibility checks will happen after a round of index vacuuming. +# To accomplish this, we set maintenance_work_mem to its minimum value and +# insert and update enough rows that we force at least one round of index +# vacuuming before getting to a dead tuple which was killed after the +# standby is disconnected. +$node_primary->safe_psql($test_db, qq[ + CREATE TABLE ${table1}(col1 int) with (autovacuum_enabled=false); + INSERT INTO $table1 SELECT generate_series(1, 200000); + CREATE INDEX on ${table1}(col1); + DELETE FROM $table1 WHERE col1 > 1; + INSERT INTO $table1 VALUES(1); +]); + +# We will later move the primary forward while the standby is disconnected. +# For now, however, there is no reason not to wait for the standby to catch +# up. +my $primary_lsn = $node_primary->lsn('flush'); +$node_primary->wait_for_catchup($node_replica, 'replay', $primary_lsn); + +# Test that the WAL receiver is up and running. +$node_replica->poll_query_until($test_db, qq[ + SELECT EXISTS (SELECT * FROM pg_stat_wal_receiver);] , 't'); + +# Set primary_conninfo to something invalid on the replica and reload the +# config. Once the config is reloaded, the startup process will force the WAL +# receiver to restart and it will be unable to reconnect because of the +# invalid connection information. +$node_replica->safe_psql($test_db, qq[ + ALTER SYSTEM SET primary_conninfo = ''; + SELECT pg_reload_conf(); + ]); + +# Wait until the WAL receiver has shut down and been unable to start up again. +$node_replica->poll_query_until($test_db, qq[ + SELECT EXISTS (SELECT * FROM pg_stat_wal_receiver);] , 'f'); + +# Now insert and update a tuple which will be visible to the vacuum on the +# primary but which will have xmax newer than the oldest xmin on the standby +# that was recently disconnected. +my $res = $psql_primaryA->query_safe( + qq[ + INSERT INTO $table1 VALUES (99); + UPDATE $table1 SET col1 = 100 WHERE col1 = 99; + SELECT 'after_update'; + ] + ); + +# Make sure the UPDATE finished +like($res, qr/^after_update$/m, "UPDATE occurred on primary session A"); + +# Open a cursor on the primary whose pin will keep VACUUM from getting a +# cleanup lock on the first page of the relation. We want VACUUM to be able to +# start, calculate initial values for OldestXmin and GlobalVisState and then +# be unable to proceed with pruning our dead tuples. This will allow us to +# reconnect the standby and push the horizon back before we start actual +# pruning and vacuuming. +my $primary_cursor1 = "vac_horizon_floor_cursor"; + +# The first value inserted into the table was a 1, so FETCH FORWARD should +# return a 1. That's how we know the cursor has a pin. +$res = $psql_primaryB->query_safe( + qq[ + BEGIN; + DECLARE $primary_cursor1 CURSOR FOR SELECT * FROM $table1 WHERE col1 = 1; + FETCH FORWARD FROM $primary_cursor1; + ] + ); + +is($res, 1, qq[Cursor query returned $res. Expected value 1.]); + +# Get the PID of the session which will run the VACUUM FREEZE so that we can +# use it to filter pg_stat_activity later. +my $vacuum_pid = $psql_primaryA->query_safe("SELECT pg_backend_pid();"); + +# Now start a VACUUM FREEZE on the primary. It will call vacuum_get_cutoffs() +# and establish values of OldestXmin and GlobalVisState which are newer than +# all of our dead tuples. Then it will be unable to get a cleanup lock to +# start pruning, so it will hang. +# +# We use VACUUM FREEZE because it will wait for a cleanup lock instead of +# skipping the page pinned by the cursor. Note that works because the target +# tuple's xmax precedes OldestXmin which ensures that lazy_scan_noprune() will +# return false and we will wait for the cleanup lock. +$psql_primaryA->{stdin} .= qq[ + VACUUM (VERBOSE, FREEZE) $table1; + \\echo VACUUM + ]; + +# Make sure the VACUUM command makes it to the server. +$psql_primaryA->{run}->pump_nb(); + +# Make sure that the VACUUM has already called vacuum_get_cutoffs() and is +# just waiting on the lock to start vacuuming. We don't want the standby to +# re-establish a connection to the primary and push the horizon back until +# we've saved initial values in GlobalVisState and calculated OldestXmin. +$node_primary->poll_query_until($test_db, + qq[ + SELECT count(*) >= 1 FROM pg_stat_activity + WHERE pid = $vacuum_pid + AND wait_event = 'BufferPin'; + ], + 't'); + +# Ensure the WAL receiver is still not active on the replica. +$node_replica->poll_query_until($test_db, qq[ + SELECT EXISTS (SELECT * FROM pg_stat_wal_receiver);] , 'f'); + +# Allow the WAL receiver connection to re-establish. +$node_replica->safe_psql( + $test_db, qq[ + ALTER SYSTEM SET primary_conninfo = '$orig_conninfo'; + SELECT pg_reload_conf(); + ]); + +# Ensure the new WAL receiver has connected. +$node_replica->poll_query_until($test_db, qq[ + SELECT EXISTS (SELECT * FROM pg_stat_wal_receiver);] , 't'); + +# Once the WAL sender is shown on the primary, the replica should have +# connected with the primary and pushed the horizon backward. Primary Session +# A won't see that until the VACUUM FREEZE proceeds and does its first round +# of index vacuuming. +$node_primary->poll_query_until($test_db, qq[ + SELECT EXISTS (SELECT * FROM pg_stat_replication);] , 't'); + +# Move the cursor forward to the next 1. We inserted the 1 much later, so +# advancing the cursor should allow vacuum to proceed vacuuming most pages of +# the relation. Because we set maintanence_work_mem sufficiently low, we +# expect that a round of index vacuuming has happened and that the vacuum is +# now waiting for the cursor to release its pin on the last page of the +# relation. +$res = $psql_primaryB->query_safe("FETCH $primary_cursor1"); +is($res, 1, + qq[Cursor query returned $res from second fetch. Expected value 1.]); + +# Prevent the test from incorrectly passing by confirming that we did indeed +# do a pass of index vacuuming. +$node_primary->poll_query_until($test_db, qq[ + SELECT index_vacuum_count > 0 + FROM pg_stat_progress_vacuum + WHERE datname='$test_db' AND relid::regclass = '$table1'::regclass; + ] , 't'); + +# Commit the transaction with the open cursor so that the VACUUM can finish. +$psql_primaryB->query_until( + qr/^commit$/m, + qq[ + COMMIT; + \\echo commit + ] + ); + +# VACUUM proceeds with pruning and does a visibility check on each tuple. In +# older versions of Postgres, pruning found our final dead tuple +# non-removable (HEAPTUPLE_RECENTLY_DEAD) since its xmax is after the new +# value of maybe_needed. Then lazy_scan_prune() would infinitely loop +# because HeapTupleSatisfiesVacuum() would find the tuple HEAPTUPLE_DEAD +# because its xmax preceded OldestXmin. This was fixed by passing +# OldestXmin to heap_page_prune() and removing all tuples whose xmaxes +# precede OldestXmin. +# +# With the fix, VACUUM should finish successfully, incrementing the table +# vacuum_count. +$node_primary->poll_query_until($test_db, + qq[ + SELECT vacuum_count > 0 + FROM pg_stat_all_tables WHERE relname = '${table1}'; + ] + , 't'); + +$primary_lsn = $node_primary->lsn('flush'); + +# Make sure something causes us to flush +$node_primary->safe_psql($test_db, "INSERT INTO $table1 VALUES (1);"); + +# Nothing on the replica should cause a recovery conflict, so this should +# finish successfully. +$node_primary->wait_for_catchup($node_replica, 'replay', $primary_lsn); + +## Shut down psqls +$psql_primaryA->quit; +$psql_primaryB->quit; + +$node_replica->stop(); +$node_primary->stop(); + +done_testing(); diff --git a/src/test/regress/expected/aggregates.out b/src/test/regress/expected/aggregates.out index 68fd716d3e6..0c24f6afe48 100644 --- a/src/test/regress/expected/aggregates.out +++ b/src/test/regress/expected/aggregates.out @@ -1273,6 +1273,37 @@ NOTICE: drop cascades to 3 other objects DETAIL: drop cascades to table minmaxtest1 drop cascades to table minmaxtest2 drop cascades to table minmaxtest3 +-- DISTINCT can also trigger wrong answers with hash aggregation (bug #18465) +begin; +set local enable_sort = off; +explain (costs off) + select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1) + from int4_tbl t0; + QUERY PLAN +--------------------------------------------------------------------- + Seq Scan on int4_tbl t0 + SubPlan 2 + -> HashAggregate + Group Key: $1 + InitPlan 1 (returns $1) + -> Limit + -> Seq Scan on int4_tbl t1 + Filter: ((f1 IS NOT NULL) AND (f1 = t0.f1)) + -> Result +(9 rows) + +select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1) +from int4_tbl t0; + f1 | min +-------------+------------- + 0 | 0 + 123456 | 123456 + -123456 | -123456 + 2147483647 | 2147483647 + -2147483647 | -2147483647 +(5 rows) + +rollback; -- check for correct detection of nested-aggregate errors select max(min(unique1)) from tenk1; ERROR: aggregate function calls cannot be nested diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 05351cb1a43..0e439a6488b 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -3917,8 +3917,16 @@ ALTER TABLE list_parted ATTACH PARTITION child FOR VALUES IN (1); ERROR: cannot attach inheritance child as partition ALTER TABLE list_parted ATTACH PARTITION parent FOR VALUES IN (1); ERROR: cannot attach inheritance parent as partition +DROP TABLE child; +-- now it should work, with a little tweak +ALTER TABLE parent ADD CONSTRAINT check_a CHECK (a > 0); +ALTER TABLE list_parted ATTACH PARTITION parent FOR VALUES IN (1); +-- test insert/update, per bug #18550 +INSERT INTO parent VALUES (1); +UPDATE parent SET a = 2 WHERE a = 1; +ERROR: new row for relation "parent" violates partition constraint +DETAIL: Failing row contains (2, null). DROP TABLE parent CASCADE; -NOTICE: drop cascades to table child -- check any TEMP-ness CREATE TEMP TABLE temp_parted (a int) PARTITION BY LIST (a); CREATE TABLE perm_part (a int); diff --git a/src/test/regress/expected/arrays.out b/src/test/regress/expected/arrays.out index 957498432d6..57a283dc591 100644 --- a/src/test/regress/expected/arrays.out +++ b/src/test/regress/expected/arrays.out @@ -1427,6 +1427,10 @@ update arr_pk_tbl set f1[2147483647] = 42 where pk = 10; ERROR: 54000 update arr_pk_tbl set f1[2147483646:2147483647] = array[4,2] where pk = 10; ERROR: 54000 +insert into arr_pk_tbl(pk, f1[0:2147483647]) values (2, '{}'); +ERROR: 54000 +insert into arr_pk_tbl(pk, f1[-2147483648:2147483647]) values (2, '{}'); +ERROR: 54000 -- also exercise the expanded-array case do $$ declare a int[]; begin diff --git a/src/test/regress/expected/constraints.out b/src/test/regress/expected/constraints.out index e6f6602d953..cf0b80d6169 100644 --- a/src/test/regress/expected/constraints.out +++ b/src/test/regress/expected/constraints.out @@ -626,6 +626,49 @@ SELECT conname FROM pg_constraint WHERE conrelid = 'parted_fk_naming_1'::regclas (1 row) DROP TABLE parted_fk_naming; +-- +-- Test various ways to create primary keys on partitions, linked to unique +-- indexes (without constraints) on the partitioned table. Ideally these should +-- fail, but we don't dare change released behavior, so instead cope with it at +-- DETACH time. +CREATE TEMP TABLE t (a integer, b integer) PARTITION BY HASH (a, b); +CREATE TEMP TABLE tp (a integer, b integer, PRIMARY KEY (a, b), UNIQUE (b, a)); +ALTER TABLE t ATTACH PARTITION tp FOR VALUES WITH (MODULUS 1, REMAINDER 0); +CREATE UNIQUE INDEX t_a_idx ON t (a, b); +CREATE UNIQUE INDEX t_b_idx ON t (b, a); +ALTER INDEX t_a_idx ATTACH PARTITION tp_pkey; +ALTER INDEX t_b_idx ATTACH PARTITION tp_b_a_key; +SELECT conname, conparentid, conislocal, coninhcount + FROM pg_constraint WHERE conname IN ('tp_pkey', 'tp_b_a_key') + ORDER BY conname DESC; + conname | conparentid | conislocal | coninhcount +------------+-------------+------------+------------- + tp_pkey | 0 | t | 0 + tp_b_a_key | 0 | t | 0 +(2 rows) + +ALTER TABLE t DETACH PARTITION tp; +DROP TABLE t, tp; +CREATE TEMP TABLE t (a integer) PARTITION BY LIST (a); +CREATE TEMP TABLE tp (a integer PRIMARY KEY); +CREATE UNIQUE INDEX t_a_idx ON t (a); +ALTER TABLE t ATTACH PARTITION tp FOR VALUES IN (1); +ALTER TABLE t DETACH PARTITION tp; +DROP TABLE t, tp; +CREATE TEMP TABLE t (a integer) PARTITION BY LIST (a); +CREATE TEMP TABLE tp (a integer PRIMARY KEY); +CREATE UNIQUE INDEX t_a_idx ON ONLY t (a); +ALTER TABLE t ATTACH PARTITION tp FOR VALUES IN (1); +ALTER TABLE t DETACH PARTITION tp; +DROP TABLE t, tp; +CREATE TABLE regress_constr_partitioned (a integer) PARTITION BY LIST (a); +CREATE TABLE regress_constr_partition1 PARTITION OF regress_constr_partitioned FOR VALUES IN (1); +ALTER TABLE regress_constr_partition1 ADD PRIMARY KEY (a); +CREATE UNIQUE INDEX ON regress_constr_partitioned (a); +BEGIN; +ALTER TABLE regress_constr_partitioned DETACH PARTITION regress_constr_partition1; +ROLLBACK; +-- Leave this one in funny state for pg_upgrade testing -- test a HOT update that invalidates the conflicting tuple. -- the trigger should still fire and catch the violation BEGIN; diff --git a/src/test/regress/expected/create_procedure.out b/src/test/regress/expected/create_procedure.out index 6ab09d7ec89..2177ba35090 100644 --- a/src/test/regress/expected/create_procedure.out +++ b/src/test/regress/expected/create_procedure.out @@ -193,6 +193,57 @@ AS $$ SELECT NULL::int; $$; CALL ptest6(1, 2); +CREATE PROCEDURE ptest6a(inout a anyelement, out b anyelement) +LANGUAGE SQL +AS $$ +SELECT $1, $1; +$$; +CALL ptest6a(1, null); + a | b +---+--- + 1 | 1 +(1 row) + +CALL ptest6a(1.1, null); + a | b +-----+----- + 1.1 | 1.1 +(1 row) + +CREATE PROCEDURE ptest6b(a anyelement, out b anyelement, out c anyarray) +LANGUAGE SQL +AS $$ +SELECT $1, array[$1]; +$$; +CALL ptest6b(1, null, null); + b | c +---+----- + 1 | {1} +(1 row) + +CALL ptest6b(1.1, null, null); + b | c +-----+------- + 1.1 | {1.1} +(1 row) + +CREATE PROCEDURE ptest6c(inout a anyelement, inout b anyelement) +LANGUAGE SQL +AS $$ +SELECT $1, 1; +$$; +CALL ptest6c(1, null); + a | b +---+--- + 1 | 1 +(1 row) + +CALL ptest6c(1.1, null); -- fails before v13 + a | b +-----+--- + 1.1 | 1 +(1 row) + -- collation assignment CREATE PROCEDURE ptest7(a text, b text) LANGUAGE SQL diff --git a/src/test/regress/expected/create_table_like.out b/src/test/regress/expected/create_table_like.out index 0ed94f1d2fb..6bfc6d040ff 100644 --- a/src/test/regress/expected/create_table_like.out +++ b/src/test/regress/expected/create_table_like.out @@ -261,8 +261,23 @@ Check constraints: Inherits: test_like_5, test_like_5x +-- Test updating of column numbers in statistics expressions (bug #18468) +CREATE TABLE test_like_6 (a int, c text, b text); +CREATE STATISTICS ext_stat ON (a || b) FROM test_like_6; +ALTER TABLE test_like_6 DROP COLUMN c; +CREATE TABLE test_like_6c (LIKE test_like_6 INCLUDING ALL); +\d+ test_like_6c + Table "public.test_like_6c" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +--------+---------+-----------+----------+---------+----------+--------------+------------- + a | integer | | | | plain | | + b | text | | | | extended | | +Statistics objects: + "public.test_like_6c_expr_stat" ON (a || b) FROM test_like_6c + DROP TABLE test_like_4, test_like_4a, test_like_4b, test_like_4c, test_like_4d; DROP TABLE test_like_5, test_like_5x, test_like_5c; +DROP TABLE test_like_6, test_like_6c; CREATE TABLE inhg (x text, LIKE inhx INCLUDING INDEXES, y text); /* copies indexes */ INSERT INTO inhg VALUES (5, 10); INSERT INTO inhg VALUES (20, 10); -- should fail diff --git a/src/test/regress/expected/create_view.out b/src/test/regress/expected/create_view.out index 61825ef7d4e..f3f8c7b5a2f 100644 --- a/src/test/regress/expected/create_view.out +++ b/src/test/regress/expected/create_view.out @@ -2202,6 +2202,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 +2248,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 79 other objects DETAIL: drop cascades to table t1 drop cascades to view temporal1 drop cascades to view temporal2 @@ -2311,3 +2326,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/database.out b/src/test/regress/expected/database.out new file mode 100644 index 00000000000..454db91ec09 --- /dev/null +++ b/src/test/regress/expected/database.out @@ -0,0 +1,15 @@ +CREATE DATABASE regression_tbd + ENCODING utf8 LC_COLLATE "C" LC_CTYPE "C" TEMPLATE template0; +ALTER DATABASE regression_tbd RENAME TO regression_utf8; +ALTER DATABASE regression_utf8 SET TABLESPACE regress_tblspace; +ALTER DATABASE regression_utf8 RESET TABLESPACE; +ALTER DATABASE regression_utf8 CONNECTION_LIMIT 123; +-- Test PgDatabaseToastTable. Doing this with GRANT would be slow. +BEGIN; +UPDATE pg_database +SET datacl = array_fill(makeaclitem(10, 10, 'USAGE', false), ARRAY[5e5::int]) +WHERE datname = 'regression_utf8'; +-- load catcache entry, if nothing else does +ALTER DATABASE regression_utf8 RESET TABLESPACE; +ROLLBACK; +DROP DATABASE regression_utf8; diff --git a/src/test/regress/expected/dbsize.out b/src/test/regress/expected/dbsize.out index f1121a87aa3..97c3bf54be5 100644 --- a/src/test/regress/expected/dbsize.out +++ b/src/test/regress/expected/dbsize.out @@ -79,6 +79,14 @@ SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM 11528652096115048448 | 10240 PB | -10240 PB (12 rows) +-- Ensure we get the expected results when passing the extremities of bigint +SELECT pg_size_pretty('-9223372036854775808'::bigint), + pg_size_pretty('9223372036854775807'::bigint); + pg_size_pretty | pg_size_pretty +----------------+---------------- + -8192 PB | 8192 PB +(1 row) + -- pg_size_bytes() tests SELECT size, pg_size_bytes(size) FROM (VALUES ('1'), ('123bytes'), ('256 B'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '), diff --git a/src/test/regress/expected/horology.out b/src/test/regress/expected/horology.out index e48534ba00b..31d269b7ba6 100644 --- a/src/test/regress/expected/horology.out +++ b/src/test/regress/expected/horology.out @@ -274,6 +274,161 @@ SELECT time with time zone 'J2452271 T040506.789 America/Los_Angeles'; 04:05:06.789-08 (1 row) +-- Check time formats required by ISO 8601 +SELECT time without time zone '040506.07'; + time +------------- + 04:05:06.07 +(1 row) + +SELECT time without time zone '04:05:06.07'; + time +------------- + 04:05:06.07 +(1 row) + +SELECT time without time zone '040506'; + time +---------- + 04:05:06 +(1 row) + +SELECT time without time zone '04:05:06'; + time +---------- + 04:05:06 +(1 row) + +SELECT time without time zone '0405'; + time +---------- + 04:05:00 +(1 row) + +SELECT time without time zone '04:05'; + time +---------- + 04:05:00 +(1 row) + +SELECT time without time zone 'T040506.07'; + time +------------- + 04:05:06.07 +(1 row) + +SELECT time without time zone 'T04:05:06.07'; + time +------------- + 04:05:06.07 +(1 row) + +SELECT time without time zone 'T040506'; + time +---------- + 04:05:06 +(1 row) + +SELECT time without time zone 'T04:05:06'; + time +---------- + 04:05:06 +(1 row) + +SELECT time without time zone 'T0405'; + time +---------- + 04:05:00 +(1 row) + +SELECT time without time zone 'T04:05'; + time +---------- + 04:05:00 +(1 row) + +-- 8601 says "Thh" is allowed, but we intentionally reject it as too vague +SELECT time without time zone 'T04'; +ERROR: invalid input syntax for type time: "T04" +LINE 1: SELECT time without time zone 'T04'; + ^ +SELECT time with time zone '040506.07+08'; + timetz +---------------- + 04:05:06.07+08 +(1 row) + +SELECT time with time zone '04:05:06.07+08'; + timetz +---------------- + 04:05:06.07+08 +(1 row) + +SELECT time with time zone '040506+08'; + timetz +------------- + 04:05:06+08 +(1 row) + +SELECT time with time zone '04:05:06+08'; + timetz +------------- + 04:05:06+08 +(1 row) + +SELECT time with time zone '0405+08'; + timetz +------------- + 04:05:00+08 +(1 row) + +SELECT time with time zone '04:05+08'; + timetz +------------- + 04:05:00+08 +(1 row) + +SELECT time with time zone 'T040506.07+08'; + timetz +---------------- + 04:05:06.07+08 +(1 row) + +SELECT time with time zone 'T04:05:06.07+08'; + timetz +---------------- + 04:05:06.07+08 +(1 row) + +SELECT time with time zone 'T040506+08'; + timetz +------------- + 04:05:06+08 +(1 row) + +SELECT time with time zone 'T04:05:06+08'; + timetz +------------- + 04:05:06+08 +(1 row) + +SELECT time with time zone 'T0405+08'; + timetz +------------- + 04:05:00+08 +(1 row) + +SELECT time with time zone 'T04:05+08'; + timetz +------------- + 04:05:00+08 +(1 row) + +-- 8601 says "Thh" is allowed, but we intentionally reject it as too vague +SELECT time with time zone 'T04+08'; +ERROR: invalid input syntax for type time with time zone: "T04+08" +LINE 1: SELECT time with time zone 'T04+08'; + ^ SET DateStyle = 'Postgres, MDY'; -- Check Julian dates BC SELECT date 'J1520447' AS "Confucius' Birthday"; diff --git a/src/test/regress/expected/insert_conflict.out b/src/test/regress/expected/insert_conflict.out index 9e9e3bd00cd..15fc426d661 100644 --- a/src/test/regress/expected/insert_conflict.out +++ b/src/test/regress/expected/insert_conflict.out @@ -2,6 +2,8 @@ -- insert...on conflict do unique index inference -- create table insertconflicttest(key int4, fruit text); +-- These things should work through a view, as well +create view insertconflictview as select * from insertconflicttest; -- -- Test unique index inference with operator class specifications and -- named collations @@ -43,6 +45,15 @@ explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on con -> Result (4 rows) +explain (costs off) insert into insertconflictview values(0, 'Crowberry') on conflict (lower(fruit), key, lower(fruit), key) do nothing; + QUERY PLAN +------------------------------------------------- + Insert on insertconflicttest + Conflict Resolution: NOTHING + Conflict Arbiter Indexes: both_index_expr_key + -> Result +(4 rows) + explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit) do update set fruit = excluded.fruit where exists (select 1 from insertconflicttest ii where ii.key = excluded.key); QUERY PLAN @@ -374,6 +385,7 @@ create unique index partial_key_index on insertconflicttest(key) where fruit lik -- Succeeds insert into insertconflicttest values (23, 'Blackberry') on conflict (key) where fruit like '%berry' do update set fruit = excluded.fruit; insert into insertconflicttest as t values (23, 'Blackberry') on conflict (key) where fruit like '%berry' and t.fruit = 'inconsequential' do nothing; +insert into insertconflictview as t values (23, 'Blackberry') on conflict (key) where fruit like '%berry' and t.fruit = 'inconsequential' do nothing; -- fails insert into insertconflicttest values (23, 'Blackberry') on conflict (key) do update set fruit = excluded.fruit; ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification @@ -439,6 +451,7 @@ explain (costs off) insert into insertconflicttest as i values (23, 'Avocado') o drop index plain; -- Cleanup +drop view insertconflictview; drop table insertconflicttest; -- -- Verify that EXCLUDED does not allow system column references. These diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out index 3715ae491d5..9af8d61a732 100644 --- a/src/test/regress/expected/join.out +++ b/src/test/regress/expected/join.out @@ -2923,6 +2923,60 @@ select tt1.*, tt2.* from tt2 right join tt1 on tt1.joincol = tt2.joincol; 2 | | | (3 rows) +reset enable_hashjoin; +reset enable_nestloop; +-- +-- regression test for bug #18522 (merge-right-anti-join in inner_unique cases) +-- +create temp table tbl_ra(a int unique, b int); +insert into tbl_ra select i, i%100 from generate_series(1,1000)i; +create index on tbl_ra (b); +analyze tbl_ra; +set enable_hashjoin to off; +set enable_nestloop to off; +-- ensure we get a merge right anti join +explain (costs off) +select * from tbl_ra t1 +where not exists (select 1 from tbl_ra t2 where t2.b = t1.a) and t1.b < 2; + QUERY PLAN +------------------------------------------------------- + Merge Right Anti Join + Merge Cond: (t2.b = t1.a) + -> Index Only Scan using tbl_ra_b_idx on tbl_ra t2 + -> Sort + Sort Key: t1.a + -> Bitmap Heap Scan on tbl_ra t1 + Recheck Cond: (b < 2) + -> Bitmap Index Scan on tbl_ra_b_idx + Index Cond: (b < 2) +(9 rows) + +-- and check we get the expected results +select * from tbl_ra t1 +where not exists (select 1 from tbl_ra t2 where t2.b = t1.a) and t1.b < 2; + a | b +------+--- + 100 | 0 + 101 | 1 + 200 | 0 + 201 | 1 + 300 | 0 + 301 | 1 + 400 | 0 + 401 | 1 + 500 | 0 + 501 | 1 + 600 | 0 + 601 | 1 + 700 | 0 + 701 | 1 + 800 | 0 + 801 | 1 + 900 | 0 + 901 | 1 + 1000 | 0 +(19 rows) + reset enable_hashjoin; reset enable_nestloop; -- diff --git a/src/test/regress/expected/merge.out b/src/test/regress/expected/merge.out index bfdf59a2750..bc9a59803fc 100644 --- a/src/test/regress/expected/merge.out +++ b/src/test/regress/expected/merge.out @@ -2302,6 +2302,17 @@ drop cascades to table measurement_y2007m01 DROP FUNCTION measurement_insert_trigger(); -- prepare RESET SESSION AUTHORIZATION; +-- try a system catalog +MERGE INTO pg_class c +USING (SELECT 'pg_depend'::regclass AS oid) AS j +ON j.oid = c.oid +WHEN MATCHED THEN + UPDATE SET reltuples = reltuples + 1; +MERGE INTO pg_class c +USING pg_namespace n +ON n.oid = c.relnamespace +WHEN MATCHED AND c.oid = 'pg_depend'::regclass THEN + UPDATE SET reltuples = reltuples - 1; DROP TABLE target, target2; DROP TABLE source, source2; DROP FUNCTION merge_trigfunc(); diff --git a/src/test/regress/expected/money.out b/src/test/regress/expected/money.out index 7fd4e318043..cc2ff4d96e8 100644 --- a/src/test/regress/expected/money.out +++ b/src/test/regress/expected/money.out @@ -528,3 +528,22 @@ SELECT '-92233720368547758.08'::money::numeric; -92233720368547758.08 (1 row) +-- overflow checks +SELECT '92233720368547758.07'::money + '0.01'::money; +ERROR: money out of range +SELECT '-92233720368547758.08'::money - '0.01'::money; +ERROR: money out of range +SELECT '92233720368547758.07'::money * 2::float8; +ERROR: money out of range +SELECT '-1'::money / 1.175494e-38::float4; +ERROR: money out of range +SELECT '92233720368547758.07'::money * 2::int4; +ERROR: money out of range +SELECT '1'::money / 0::int2; +ERROR: division by zero +SELECT '42'::money * 'inf'::float8; +ERROR: money out of range +SELECT '42'::money * '-inf'::float8; +ERROR: money out of range +SELECT '42'::money * 'nan'::float4; +ERROR: money out of range diff --git a/src/test/regress/expected/numeric.out b/src/test/regress/expected/numeric.out index 72f03c8a38a..f30ac236f52 100644 --- a/src/test/regress/expected/numeric.out +++ b/src/test/regress/expected/numeric.out @@ -1346,6 +1346,108 @@ FROM generate_series(-5,5) AS t(i); 5 | -300000 | -200000 | -100000 | 100000 | 200000 | 300000 (11 rows) +-- Check limits of rounding before the decimal point +SELECT round(4.4e131071, -131071) = 4e131071; + ?column? +---------- + t +(1 row) + +SELECT round(4.5e131071, -131071) = 5e131071; + ?column? +---------- + t +(1 row) + +SELECT round(4.5e131071, -131072); -- loses all digits + round +------- + 0 +(1 row) + +SELECT round(5.5e131071, -131072); -- rounds up and overflows +ERROR: value overflows numeric format +SELECT round(5.5e131071, -131073); -- loses all digits + round +------- + 0 +(1 row) + +SELECT round(5.5e131071, -1000000); -- loses all digits + round +------- + 0 +(1 row) + +-- Check limits of rounding after the decimal point +SELECT round(5e-16383, 1000000) = 5e-16383; + ?column? +---------- + t +(1 row) + +SELECT round(5e-16383, 16383) = 5e-16383; + ?column? +---------- + t +(1 row) + +SELECT round(5e-16383, 16382) = 1e-16382; + ?column? +---------- + t +(1 row) + +SELECT round(5e-16383, 16381) = 0; + ?column? +---------- + t +(1 row) + +-- Check limits of trunc() before the decimal point +SELECT trunc(9.9e131071, -131071) = 9e131071; + ?column? +---------- + t +(1 row) + +SELECT trunc(9.9e131071, -131072); -- loses all digits + trunc +------- + 0 +(1 row) + +SELECT trunc(9.9e131071, -131073); -- loses all digits + trunc +------- + 0 +(1 row) + +SELECT trunc(9.9e131071, -1000000); -- loses all digits + trunc +------- + 0 +(1 row) + +-- Check limits of trunc() after the decimal point +SELECT trunc(5e-16383, 1000000) = 5e-16383; + ?column? +---------- + t +(1 row) + +SELECT trunc(5e-16383, 16383) = 5e-16383; + ?column? +---------- + t +(1 row) + +SELECT trunc(5e-16383, 16382) = 0; + ?column? +---------- + t +(1 row) + -- Testing for width_bucket(). For convenience, we test both the -- numeric and float8 versions of the function in this file. -- errors diff --git a/src/test/regress/expected/numerology.out b/src/test/regress/expected/numerology.out index f662a5050ac..8d4a3ba228a 100644 --- a/src/test/regress/expected/numerology.out +++ b/src/test/regress/expected/numerology.out @@ -297,6 +297,17 @@ SELECT 1_000.5e0_1; 10005 (1 row) +DO $$ +DECLARE + i int; +BEGIN + FOR i IN 1_001..1_003 LOOP + RAISE NOTICE 'i = %', i; + END LOOP; +END $$; +NOTICE: i = 1001 +NOTICE: i = 1002 +NOTICE: i = 1003 -- error cases SELECT _100; ERROR: column "_100" does not exist @@ -330,6 +341,10 @@ SELECT 1_000.5e_1; ERROR: trailing junk after numeric literal at or near "1_000.5e" LINE 1: SELECT 1_000.5e_1; ^ +PREPARE p1 AS SELECT $0_1; +ERROR: trailing junk after parameter at or near "$0_" +LINE 1: PREPARE p1 AS SELECT $0_1; + ^ -- -- Test implicit type conversions -- This fails for Postgres v6.1 (and earlier?) diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.out index 7f774e5e177..a044d6afe27 100644 --- a/src/test/regress/expected/triggers.out +++ b/src/test/regress/expected/triggers.out @@ -3372,6 +3372,17 @@ select * from trig_table; drop table refd_table, trig_table; -- +-- Test that we can drop a not-yet-fired deferred trigger +-- +create table refd_table (id int primary key); +create table trig_table (fk int references refd_table initially deferred); +begin; +insert into trig_table values (1); +drop table refd_table cascade; +NOTICE: drop cascades to constraint trig_table_fk_fkey on table trig_table +commit; +drop table trig_table; +-- -- self-referential FKs are even more fun -- create table self_ref (a int primary key, diff --git a/src/test/regress/expected/tsearch.out b/src/test/regress/expected/tsearch.out index cfa391ac512..9fad6c8b04b 100644 --- a/src/test/regress/expected/tsearch.out +++ b/src/test/regress/expected/tsearch.out @@ -2676,12 +2676,19 @@ select websearch_to_tsquery('simple', 'abc <-> def'); 'abc' & 'def' (1 row) +-- parens are ignored, too select websearch_to_tsquery('simple', 'abc (pg or class)'); websearch_to_tsquery ------------------------ 'abc' & 'pg' | 'class' (1 row) +select websearch_to_tsquery('simple', '(foo bar) or (ding dong)'); + websearch_to_tsquery +--------------------------------- + 'foo' & 'bar' | 'ding' & 'dong' +(1 row) + -- NOT is ignored in quotes select websearch_to_tsquery('english', 'My brand new smartphone'); websearch_to_tsquery diff --git a/src/test/regress/expected/updatable_views.out b/src/test/regress/expected/updatable_views.out index 1950e6f281f..ba46c32029c 100644 --- a/src/test/regress/expected/updatable_views.out +++ b/src/test/regress/expected/updatable_views.out @@ -1598,6 +1598,9 @@ DETAIL: View columns that refer to system columns are not updatable. INSERT INTO rw_view1 (s, c, a) VALUES (null, null, 1.1); -- should fail ERROR: cannot insert into column "s" of view "rw_view1" DETAIL: View columns that are not columns of their base relation are not updatable. +INSERT INTO rw_view1 (s, c, a) VALUES (default, default, 1.1); -- should fail +ERROR: cannot insert into column "s" of view "rw_view1" +DETAIL: View columns that are not columns of their base relation are not updatable. INSERT INTO rw_view1 (a) VALUES (1.1) RETURNING a, s, c; -- OK a | s | c -----+-------------------+------------------- diff --git a/src/test/regress/expected/vacuum.out b/src/test/regress/expected/vacuum.out index 4def90b8057..4aaf4f025d3 100644 --- a/src/test/regress/expected/vacuum.out +++ b/src/test/regress/expected/vacuum.out @@ -82,6 +82,53 @@ BEGIN; INSERT INTO vactst SELECT generate_series(301, 400); DELETE FROM vactst WHERE i % 5 <> 0; -- delete a few rows inside ANALYZE vactst; +COMMIT; +-- Test ANALYZE setting relhassubclass=f for non-partitioning inheritance +BEGIN; +CREATE TABLE past_inh_parent (); +CREATE TABLE past_inh_child () INHERITS (past_inh_parent); +INSERT INTO past_inh_child DEFAULT VALUES; +INSERT INTO past_inh_child DEFAULT VALUES; +ANALYZE past_inh_parent; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_inh_parent'::regclass; + reltuples | relhassubclass +-----------+---------------- + 0 | t +(1 row) + +DROP TABLE past_inh_child; +ANALYZE past_inh_parent; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_inh_parent'::regclass; + reltuples | relhassubclass +-----------+---------------- + 0 | f +(1 row) + +COMMIT; +-- Test ANALYZE setting relhassubclass=f for partitioning +BEGIN; +CREATE TABLE past_parted (i int) PARTITION BY LIST(i); +CREATE TABLE past_part PARTITION OF past_parted FOR VALUES IN (1); +INSERT INTO past_parted VALUES (1),(1); +ANALYZE past_parted; +DROP TABLE past_part; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_parted'::regclass; + reltuples | relhassubclass +-----------+---------------- + 2 | t +(1 row) + +ANALYZE past_parted; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_parted'::regclass; + reltuples | relhassubclass +-----------+---------------- + 0 | f +(1 row) + COMMIT; VACUUM FULL pg_am; VACUUM FULL pg_class; diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out index a01efa50a51..86e64602262 100644 --- a/src/test/regress/expected/with.out +++ b/src/test/regress/expected/with.out @@ -1976,6 +1976,46 @@ WITH RECURSIVE x(n) AS (SELECT n FROM x UNION ALL SELECT 1) ERROR: recursive reference to query "x" must not appear within its non-recursive term LINE 1: WITH RECURSIVE x(n) AS (SELECT n FROM x UNION ALL SELECT 1) ^ +-- allow this, because we historically have +WITH RECURSIVE x(n) AS ( + WITH x1 AS (SELECT 1 AS n) + SELECT 0 + UNION + SELECT * FROM x1) + SELECT * FROM x; + n +--- + 0 + 1 +(2 rows) + +-- but this should be rejected +WITH RECURSIVE x(n) AS ( + WITH x1 AS (SELECT 1 FROM x) + SELECT 0 + UNION + SELECT * FROM x1) + SELECT * FROM x; +ERROR: recursive reference to query "x" must not appear within a subquery +LINE 2: WITH x1 AS (SELECT 1 FROM x) + ^ +-- and this too +WITH RECURSIVE x(n) AS ( + (WITH x1 AS (SELECT 1 FROM x) SELECT * FROM x1) + UNION + SELECT 0) + SELECT * FROM x; +ERROR: recursive reference to query "x" must not appear within its non-recursive term +LINE 2: (WITH x1 AS (SELECT 1 FROM x) SELECT * FROM x1) + ^ +-- and this +WITH RECURSIVE x(n) AS ( + SELECT 0 UNION SELECT 1 + ORDER BY (SELECT n FROM x)) + SELECT * FROM x; +ERROR: ORDER BY in a recursive query is not implemented +LINE 3: ORDER BY (SELECT n FROM x)) + ^ CREATE TEMPORARY TABLE y (a INTEGER); INSERT INTO y SELECT generate_series(1, 10); -- LEFT JOIN diff --git a/src/test/regress/expected/xml.out b/src/test/regress/expected/xml.out index 398345ca67f..15d99185794 100644 --- a/src/test/regress/expected/xml.out +++ b/src/test/regress/expected/xml.out @@ -254,17 +254,11 @@ ERROR: invalid XML content DETAIL: line 1: xmlParseEntityRef: no name & ^ -line 1: chunk is not well balanced -& - ^ SELECT xmlparse(content '&idontexist;'); ERROR: invalid XML content DETAIL: line 1: Entity 'idontexist' not defined &idontexist; ^ -line 1: chunk is not well balanced -&idontexist; - ^ SELECT xmlparse(content ''); xmlparse --------------------------- @@ -283,9 +277,6 @@ DETAIL: line 1: Entity 'idontexist' not defined &idontexist; ^ line 1: Opening and ending tag mismatch: twoerrors line 1 and unbalanced -&idontexist; - ^ -line 1: chunk is not well balanced &idontexist; ^ SELECT xmlparse(content ''); diff --git a/src/test/regress/expected/xml_2.out b/src/test/regress/expected/xml_2.out index 43c2558352a..8894f7b4a84 100644 --- a/src/test/regress/expected/xml_2.out +++ b/src/test/regress/expected/xml_2.out @@ -250,13 +250,11 @@ ERROR: invalid XML content DETAIL: line 1: xmlParseEntityRef: no name & ^ -line 1: chunk is not well balanced SELECT xmlparse(content '&idontexist;'); ERROR: invalid XML content DETAIL: line 1: Entity 'idontexist' not defined &idontexist; ^ -line 1: chunk is not well balanced SELECT xmlparse(content ''); xmlparse --------------------------- @@ -275,7 +273,6 @@ DETAIL: line 1: Entity 'idontexist' not defined &idontexist; ^ line 1: Opening and ending tag mismatch: twoerrors line 1 and unbalanced -line 1: chunk is not well balanced SELECT xmlparse(content ''); xmlparse --------------------- diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule index cf46fa33593..3d14bf4e4fe 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -28,7 +28,7 @@ test: strings md5 numerology point lseg line box path polygon circle date time t # geometry depends on point, lseg, line, box, path, polygon, circle # horology depends on date, time, timetz, timestamp, timestamptz, interval # ---------- -test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc +test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc database # ---------- # Load huge amounts of data diff --git a/src/test/regress/sql/aggregates.sql b/src/test/regress/sql/aggregates.sql index 758ad906516..f51726e8edc 100644 --- a/src/test/regress/sql/aggregates.sql +++ b/src/test/regress/sql/aggregates.sql @@ -436,6 +436,16 @@ select distinct min(f1), max(f1) from minmaxtest; drop table minmaxtest cascade; +-- DISTINCT can also trigger wrong answers with hash aggregation (bug #18465) +begin; +set local enable_sort = off; +explain (costs off) + select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1) + from int4_tbl t0; +select f1, (select distinct min(t1.f1) from int4_tbl t1 where t1.f1 = t0.f1) +from int4_tbl t0; +rollback; + -- check for correct detection of nested-aggregate errors select max(min(unique1)) from tenk1; select (select max(min(unique1)) from int8_tbl) from tenk1; diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql index 58ea20ac3dc..d2845abc97a 100644 --- a/src/test/regress/sql/alter_table.sql +++ b/src/test/regress/sql/alter_table.sql @@ -2416,6 +2416,13 @@ CREATE TABLE parent (LIKE list_parted); CREATE TABLE child () INHERITS (parent); ALTER TABLE list_parted ATTACH PARTITION child FOR VALUES IN (1); ALTER TABLE list_parted ATTACH PARTITION parent FOR VALUES IN (1); +DROP TABLE child; +-- now it should work, with a little tweak +ALTER TABLE parent ADD CONSTRAINT check_a CHECK (a > 0); +ALTER TABLE list_parted ATTACH PARTITION parent FOR VALUES IN (1); +-- test insert/update, per bug #18550 +INSERT INTO parent VALUES (1); +UPDATE parent SET a = 2 WHERE a = 1; DROP TABLE parent CASCADE; -- check any TEMP-ness diff --git a/src/test/regress/sql/arrays.sql b/src/test/regress/sql/arrays.sql index daf805c3827..e414fa560db 100644 --- a/src/test/regress/sql/arrays.sql +++ b/src/test/regress/sql/arrays.sql @@ -447,6 +447,8 @@ reset enable_bitmapscan; insert into arr_pk_tbl values(10, '[-2147483648:-2147483647]={1,2}'); update arr_pk_tbl set f1[2147483647] = 42 where pk = 10; update arr_pk_tbl set f1[2147483646:2147483647] = array[4,2] where pk = 10; +insert into arr_pk_tbl(pk, f1[0:2147483647]) values (2, '{}'); +insert into arr_pk_tbl(pk, f1[-2147483648:2147483647]) values (2, '{}'); -- also exercise the expanded-array case do $$ declare a int[]; diff --git a/src/test/regress/sql/constraints.sql b/src/test/regress/sql/constraints.sql index 5ffcd4ffc7b..e3e3bea7091 100644 --- a/src/test/regress/sql/constraints.sql +++ b/src/test/regress/sql/constraints.sql @@ -449,6 +449,47 @@ ALTER TABLE parted_fk_naming ATTACH PARTITION parted_fk_naming_1 FOR VALUES IN ( SELECT conname FROM pg_constraint WHERE conrelid = 'parted_fk_naming_1'::regclass AND contype = 'f'; DROP TABLE parted_fk_naming; +-- +-- Test various ways to create primary keys on partitions, linked to unique +-- indexes (without constraints) on the partitioned table. Ideally these should +-- fail, but we don't dare change released behavior, so instead cope with it at +-- DETACH time. +CREATE TEMP TABLE t (a integer, b integer) PARTITION BY HASH (a, b); +CREATE TEMP TABLE tp (a integer, b integer, PRIMARY KEY (a, b), UNIQUE (b, a)); +ALTER TABLE t ATTACH PARTITION tp FOR VALUES WITH (MODULUS 1, REMAINDER 0); +CREATE UNIQUE INDEX t_a_idx ON t (a, b); +CREATE UNIQUE INDEX t_b_idx ON t (b, a); +ALTER INDEX t_a_idx ATTACH PARTITION tp_pkey; +ALTER INDEX t_b_idx ATTACH PARTITION tp_b_a_key; +SELECT conname, conparentid, conislocal, coninhcount + FROM pg_constraint WHERE conname IN ('tp_pkey', 'tp_b_a_key') + ORDER BY conname DESC; +ALTER TABLE t DETACH PARTITION tp; +DROP TABLE t, tp; + +CREATE TEMP TABLE t (a integer) PARTITION BY LIST (a); +CREATE TEMP TABLE tp (a integer PRIMARY KEY); +CREATE UNIQUE INDEX t_a_idx ON t (a); +ALTER TABLE t ATTACH PARTITION tp FOR VALUES IN (1); +ALTER TABLE t DETACH PARTITION tp; +DROP TABLE t, tp; + +CREATE TEMP TABLE t (a integer) PARTITION BY LIST (a); +CREATE TEMP TABLE tp (a integer PRIMARY KEY); +CREATE UNIQUE INDEX t_a_idx ON ONLY t (a); +ALTER TABLE t ATTACH PARTITION tp FOR VALUES IN (1); +ALTER TABLE t DETACH PARTITION tp; +DROP TABLE t, tp; + +CREATE TABLE regress_constr_partitioned (a integer) PARTITION BY LIST (a); +CREATE TABLE regress_constr_partition1 PARTITION OF regress_constr_partitioned FOR VALUES IN (1); +ALTER TABLE regress_constr_partition1 ADD PRIMARY KEY (a); +CREATE UNIQUE INDEX ON regress_constr_partitioned (a); +BEGIN; +ALTER TABLE regress_constr_partitioned DETACH PARTITION regress_constr_partition1; +ROLLBACK; +-- Leave this one in funny state for pg_upgrade testing + -- test a HOT update that invalidates the conflicting tuple. -- the trigger should still fire and catch the violation diff --git a/src/test/regress/sql/create_procedure.sql b/src/test/regress/sql/create_procedure.sql index 012cdf36283..069a3727ced 100644 --- a/src/test/regress/sql/create_procedure.sql +++ b/src/test/regress/sql/create_procedure.sql @@ -131,6 +131,33 @@ $$; CALL ptest6(1, 2); +CREATE PROCEDURE ptest6a(inout a anyelement, out b anyelement) +LANGUAGE SQL +AS $$ +SELECT $1, $1; +$$; + +CALL ptest6a(1, null); +CALL ptest6a(1.1, null); + +CREATE PROCEDURE ptest6b(a anyelement, out b anyelement, out c anyarray) +LANGUAGE SQL +AS $$ +SELECT $1, array[$1]; +$$; + +CALL ptest6b(1, null, null); +CALL ptest6b(1.1, null, null); + +CREATE PROCEDURE ptest6c(inout a anyelement, inout b anyelement) +LANGUAGE SQL +AS $$ +SELECT $1, 1; +$$; + +CALL ptest6c(1, null); +CALL ptest6c(1.1, null); -- fails before v13 + -- collation assignment diff --git a/src/test/regress/sql/create_table_like.sql b/src/test/regress/sql/create_table_like.sql index 4929d373a2f..04008a027b8 100644 --- a/src/test/regress/sql/create_table_like.sql +++ b/src/test/regress/sql/create_table_like.sql @@ -95,8 +95,16 @@ CREATE TABLE test_like_5c (LIKE test_like_4 INCLUDING ALL) INHERITS (test_like_5, test_like_5x); \d test_like_5c +-- Test updating of column numbers in statistics expressions (bug #18468) +CREATE TABLE test_like_6 (a int, c text, b text); +CREATE STATISTICS ext_stat ON (a || b) FROM test_like_6; +ALTER TABLE test_like_6 DROP COLUMN c; +CREATE TABLE test_like_6c (LIKE test_like_6 INCLUDING ALL); +\d+ test_like_6c + DROP TABLE test_like_4, test_like_4a, test_like_4b, test_like_4c, test_like_4d; DROP TABLE test_like_5, test_like_5x, test_like_5c; +DROP TABLE test_like_6, test_like_6c; CREATE TABLE inhg (x text, LIKE inhx INCLUDING INDEXES, y text); /* copies indexes */ INSERT INTO inhg VALUES (5, 10); diff --git a/src/test/regress/sql/create_view.sql b/src/test/regress/sql/create_view.sql index 8838a40f7ab..3a78be1b0c7 100644 --- a/src/test/regress/sql/create_view.sql +++ b/src/test/regress/sql/create_view.sql @@ -813,6 +813,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/database.sql b/src/test/regress/sql/database.sql new file mode 100644 index 00000000000..0367c0e37ab --- /dev/null +++ b/src/test/regress/sql/database.sql @@ -0,0 +1,17 @@ +CREATE DATABASE regression_tbd + ENCODING utf8 LC_COLLATE "C" LC_CTYPE "C" TEMPLATE template0; +ALTER DATABASE regression_tbd RENAME TO regression_utf8; +ALTER DATABASE regression_utf8 SET TABLESPACE regress_tblspace; +ALTER DATABASE regression_utf8 RESET TABLESPACE; +ALTER DATABASE regression_utf8 CONNECTION_LIMIT 123; + +-- Test PgDatabaseToastTable. Doing this with GRANT would be slow. +BEGIN; +UPDATE pg_database +SET datacl = array_fill(makeaclitem(10, 10, 'USAGE', false), ARRAY[5e5::int]) +WHERE datname = 'regression_utf8'; +-- load catcache entry, if nothing else does +ALTER DATABASE regression_utf8 RESET TABLESPACE; +ROLLBACK; + +DROP DATABASE regression_utf8; diff --git a/src/test/regress/sql/dbsize.sql b/src/test/regress/sql/dbsize.sql index b34cf33385e..38b94444007 100644 --- a/src/test/regress/sql/dbsize.sql +++ b/src/test/regress/sql/dbsize.sql @@ -27,6 +27,10 @@ SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM (11258449312612351::numeric), (11258449312612352::numeric), (11528652096115048447::numeric), (11528652096115048448::numeric)) x(size); +-- Ensure we get the expected results when passing the extremities of bigint +SELECT pg_size_pretty('-9223372036854775808'::bigint), + pg_size_pretty('9223372036854775807'::bigint); + -- pg_size_bytes() tests SELECT size, pg_size_bytes(size) FROM (VALUES ('1'), ('123bytes'), ('256 B'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '), diff --git a/src/test/regress/sql/horology.sql b/src/test/regress/sql/horology.sql index af70f28e3d9..8f6c513573d 100644 --- a/src/test/regress/sql/horology.sql +++ b/src/test/regress/sql/horology.sql @@ -59,6 +59,35 @@ SELECT time with time zone 'T040506.789 -08'; SELECT time with time zone 'T040506.789 America/Los_Angeles'; SELECT time with time zone '2001-12-27 T040506.789 America/Los_Angeles'; SELECT time with time zone 'J2452271 T040506.789 America/Los_Angeles'; +-- Check time formats required by ISO 8601 +SELECT time without time zone '040506.07'; +SELECT time without time zone '04:05:06.07'; +SELECT time without time zone '040506'; +SELECT time without time zone '04:05:06'; +SELECT time without time zone '0405'; +SELECT time without time zone '04:05'; +SELECT time without time zone 'T040506.07'; +SELECT time without time zone 'T04:05:06.07'; +SELECT time without time zone 'T040506'; +SELECT time without time zone 'T04:05:06'; +SELECT time without time zone 'T0405'; +SELECT time without time zone 'T04:05'; +-- 8601 says "Thh" is allowed, but we intentionally reject it as too vague +SELECT time without time zone 'T04'; +SELECT time with time zone '040506.07+08'; +SELECT time with time zone '04:05:06.07+08'; +SELECT time with time zone '040506+08'; +SELECT time with time zone '04:05:06+08'; +SELECT time with time zone '0405+08'; +SELECT time with time zone '04:05+08'; +SELECT time with time zone 'T040506.07+08'; +SELECT time with time zone 'T04:05:06.07+08'; +SELECT time with time zone 'T040506+08'; +SELECT time with time zone 'T04:05:06+08'; +SELECT time with time zone 'T0405+08'; +SELECT time with time zone 'T04:05+08'; +-- 8601 says "Thh" is allowed, but we intentionally reject it as too vague +SELECT time with time zone 'T04+08'; SET DateStyle = 'Postgres, MDY'; -- Check Julian dates BC SELECT date 'J1520447' AS "Confucius' Birthday"; diff --git a/src/test/regress/sql/insert_conflict.sql b/src/test/regress/sql/insert_conflict.sql index 23d5778b821..144c3470caa 100644 --- a/src/test/regress/sql/insert_conflict.sql +++ b/src/test/regress/sql/insert_conflict.sql @@ -3,6 +3,9 @@ -- create table insertconflicttest(key int4, fruit text); +-- These things should work through a view, as well +create view insertconflictview as select * from insertconflicttest; + -- -- Test unique index inference with operator class specifications and -- named collations @@ -20,6 +23,7 @@ explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on con explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit) do nothing; explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (fruit, key, fruit, key) do nothing; explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (lower(fruit), key, lower(fruit), key) do nothing; +explain (costs off) insert into insertconflictview values(0, 'Crowberry') on conflict (lower(fruit), key, lower(fruit), key) do nothing; explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit) do update set fruit = excluded.fruit where exists (select 1 from insertconflicttest ii where ii.key = excluded.key); -- Neither collation nor operator class specifications are required -- @@ -215,6 +219,7 @@ create unique index partial_key_index on insertconflicttest(key) where fruit lik -- Succeeds insert into insertconflicttest values (23, 'Blackberry') on conflict (key) where fruit like '%berry' do update set fruit = excluded.fruit; insert into insertconflicttest as t values (23, 'Blackberry') on conflict (key) where fruit like '%berry' and t.fruit = 'inconsequential' do nothing; +insert into insertconflictview as t values (23, 'Blackberry') on conflict (key) where fruit like '%berry' and t.fruit = 'inconsequential' do nothing; -- fails insert into insertconflicttest values (23, 'Blackberry') on conflict (key) do update set fruit = excluded.fruit; @@ -247,6 +252,7 @@ explain (costs off) insert into insertconflicttest as i values (23, 'Avocado') o drop index plain; -- Cleanup +drop view insertconflictview; drop table insertconflicttest; diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql index 3443b21e6b0..41949d41dd6 100644 --- a/src/test/regress/sql/join.sql +++ b/src/test/regress/sql/join.sql @@ -693,6 +693,30 @@ select tt1.*, tt2.* from tt2 right join tt1 on tt1.joincol = tt2.joincol; reset enable_hashjoin; reset enable_nestloop; +-- +-- regression test for bug #18522 (merge-right-anti-join in inner_unique cases) +-- + +create temp table tbl_ra(a int unique, b int); +insert into tbl_ra select i, i%100 from generate_series(1,1000)i; +create index on tbl_ra (b); +analyze tbl_ra; + +set enable_hashjoin to off; +set enable_nestloop to off; + +-- ensure we get a merge right anti join +explain (costs off) +select * from tbl_ra t1 +where not exists (select 1 from tbl_ra t2 where t2.b = t1.a) and t1.b < 2; + +-- and check we get the expected results +select * from tbl_ra t1 +where not exists (select 1 from tbl_ra t2 where t2.b = t1.a) and t1.b < 2; + +reset enable_hashjoin; +reset enable_nestloop; + -- -- regression test for bug #13908 (hash join with skew tuples & nbatch increase) -- diff --git a/src/test/regress/sql/merge.sql b/src/test/regress/sql/merge.sql index ac6d2f0e0ee..2a220a248f1 100644 --- a/src/test/regress/sql/merge.sql +++ b/src/test/regress/sql/merge.sql @@ -1493,6 +1493,20 @@ DROP FUNCTION measurement_insert_trigger(); -- prepare RESET SESSION AUTHORIZATION; + +-- try a system catalog +MERGE INTO pg_class c +USING (SELECT 'pg_depend'::regclass AS oid) AS j +ON j.oid = c.oid +WHEN MATCHED THEN + UPDATE SET reltuples = reltuples + 1; + +MERGE INTO pg_class c +USING pg_namespace n +ON n.oid = c.relnamespace +WHEN MATCHED AND c.oid = 'pg_depend'::regclass THEN + UPDATE SET reltuples = reltuples - 1; + DROP TABLE target, target2; DROP TABLE source, source2; DROP FUNCTION merge_trigfunc(); diff --git a/src/test/regress/sql/money.sql b/src/test/regress/sql/money.sql index 81c92dd960f..b888ec21c30 100644 --- a/src/test/regress/sql/money.sql +++ b/src/test/regress/sql/money.sql @@ -135,3 +135,14 @@ SELECT '12345678901234567'::money::numeric; SELECT '-12345678901234567'::money::numeric; SELECT '92233720368547758.07'::money::numeric; SELECT '-92233720368547758.08'::money::numeric; + +-- overflow checks +SELECT '92233720368547758.07'::money + '0.01'::money; +SELECT '-92233720368547758.08'::money - '0.01'::money; +SELECT '92233720368547758.07'::money * 2::float8; +SELECT '-1'::money / 1.175494e-38::float4; +SELECT '92233720368547758.07'::money * 2::int4; +SELECT '1'::money / 0::int2; +SELECT '42'::money * 'inf'::float8; +SELECT '42'::money * '-inf'::float8; +SELECT '42'::money * 'nan'::float4; diff --git a/src/test/regress/sql/numeric.sql b/src/test/regress/sql/numeric.sql index 83fc386333b..c86395209ab 100644 --- a/src/test/regress/sql/numeric.sql +++ b/src/test/regress/sql/numeric.sql @@ -833,6 +833,31 @@ SELECT i as pow, round((2.5 * 10 ^ i)::numeric, -i) FROM generate_series(-5,5) AS t(i); +-- Check limits of rounding before the decimal point +SELECT round(4.4e131071, -131071) = 4e131071; +SELECT round(4.5e131071, -131071) = 5e131071; +SELECT round(4.5e131071, -131072); -- loses all digits +SELECT round(5.5e131071, -131072); -- rounds up and overflows +SELECT round(5.5e131071, -131073); -- loses all digits +SELECT round(5.5e131071, -1000000); -- loses all digits + +-- Check limits of rounding after the decimal point +SELECT round(5e-16383, 1000000) = 5e-16383; +SELECT round(5e-16383, 16383) = 5e-16383; +SELECT round(5e-16383, 16382) = 1e-16382; +SELECT round(5e-16383, 16381) = 0; + +-- Check limits of trunc() before the decimal point +SELECT trunc(9.9e131071, -131071) = 9e131071; +SELECT trunc(9.9e131071, -131072); -- loses all digits +SELECT trunc(9.9e131071, -131073); -- loses all digits +SELECT trunc(9.9e131071, -1000000); -- loses all digits + +-- Check limits of trunc() after the decimal point +SELECT trunc(5e-16383, 1000000) = 5e-16383; +SELECT trunc(5e-16383, 16383) = 5e-16383; +SELECT trunc(5e-16383, 16382) = 0; + -- Testing for width_bucket(). For convenience, we test both the -- numeric and float8 versions of the function in this file. diff --git a/src/test/regress/sql/numerology.sql b/src/test/regress/sql/numerology.sql index 1941c58e681..372e7bf9bc8 100644 --- a/src/test/regress/sql/numerology.sql +++ b/src/test/regress/sql/numerology.sql @@ -77,6 +77,15 @@ SELECT 1_000.; SELECT .000_005; SELECT 1_000.5e0_1; +DO $$ +DECLARE + i int; +BEGIN + FOR i IN 1_001..1_003 LOOP + RAISE NOTICE 'i = %', i; + END LOOP; +END $$; + -- error cases SELECT _100; SELECT 100_; @@ -88,6 +97,7 @@ SELECT 1_000._5; SELECT 1_000.5_; SELECT 1_000.5e_1; +PREPARE p1 AS SELECT $0_1; -- -- Test implicit type conversions diff --git a/src/test/regress/sql/triggers.sql b/src/test/regress/sql/triggers.sql index 6c9e066397f..51610788b21 100644 --- a/src/test/regress/sql/triggers.sql +++ b/src/test/regress/sql/triggers.sql @@ -2478,6 +2478,20 @@ select * from trig_table; drop table refd_table, trig_table; +-- +-- Test that we can drop a not-yet-fired deferred trigger +-- + +create table refd_table (id int primary key); +create table trig_table (fk int references refd_table initially deferred); + +begin; +insert into trig_table values (1); +drop table refd_table cascade; +commit; + +drop table trig_table; + -- -- self-referential FKs are even more fun -- diff --git a/src/test/regress/sql/tsearch.sql b/src/test/regress/sql/tsearch.sql index db2e09be94c..fbd26cdba45 100644 --- a/src/test/regress/sql/tsearch.sql +++ b/src/test/regress/sql/tsearch.sql @@ -818,7 +818,10 @@ select websearch_to_tsquery('simple', ':'); select websearch_to_tsquery('simple', 'abc & def'); select websearch_to_tsquery('simple', 'abc | def'); select websearch_to_tsquery('simple', 'abc <-> def'); + +-- parens are ignored, too select websearch_to_tsquery('simple', 'abc (pg or class)'); +select websearch_to_tsquery('simple', '(foo bar) or (ding dong)'); -- NOT is ignored in quotes select websearch_to_tsquery('english', 'My brand new smartphone'); diff --git a/src/test/regress/sql/updatable_views.sql b/src/test/regress/sql/updatable_views.sql index eaee0b7e1d7..0a3176e25d1 100644 --- a/src/test/regress/sql/updatable_views.sql +++ b/src/test/regress/sql/updatable_views.sql @@ -845,6 +845,7 @@ CREATE VIEW rw_view1 AS INSERT INTO rw_view1 VALUES (null, null, 1.1, null); -- should fail INSERT INTO rw_view1 (s, c, a) VALUES (null, null, 1.1); -- should fail +INSERT INTO rw_view1 (s, c, a) VALUES (default, default, 1.1); -- should fail INSERT INTO rw_view1 (a) VALUES (1.1) RETURNING a, s, c; -- OK UPDATE rw_view1 SET s = s WHERE a = 1.1; -- should fail UPDATE rw_view1 SET a = 1.05 WHERE a = 1.1 RETURNING s; -- OK diff --git a/src/test/regress/sql/vacuum.sql b/src/test/regress/sql/vacuum.sql index 51d7b1fecc7..ae36b546410 100644 --- a/src/test/regress/sql/vacuum.sql +++ b/src/test/regress/sql/vacuum.sql @@ -67,6 +67,35 @@ DELETE FROM vactst WHERE i % 5 <> 0; -- delete a few rows inside ANALYZE vactst; COMMIT; +-- Test ANALYZE setting relhassubclass=f for non-partitioning inheritance +BEGIN; +CREATE TABLE past_inh_parent (); +CREATE TABLE past_inh_child () INHERITS (past_inh_parent); +INSERT INTO past_inh_child DEFAULT VALUES; +INSERT INTO past_inh_child DEFAULT VALUES; +ANALYZE past_inh_parent; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_inh_parent'::regclass; +DROP TABLE past_inh_child; +ANALYZE past_inh_parent; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_inh_parent'::regclass; +COMMIT; + +-- Test ANALYZE setting relhassubclass=f for partitioning +BEGIN; +CREATE TABLE past_parted (i int) PARTITION BY LIST(i); +CREATE TABLE past_part PARTITION OF past_parted FOR VALUES IN (1); +INSERT INTO past_parted VALUES (1),(1); +ANALYZE past_parted; +DROP TABLE past_part; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_parted'::regclass; +ANALYZE past_parted; +SELECT reltuples, relhassubclass + FROM pg_class WHERE oid = 'past_parted'::regclass; +COMMIT; + VACUUM FULL pg_am; VACUUM FULL pg_class; VACUUM FULL pg_database; diff --git a/src/test/regress/sql/with.sql b/src/test/regress/sql/with.sql index 582139df7bd..b2817a5c633 100644 --- a/src/test/regress/sql/with.sql +++ b/src/test/regress/sql/with.sql @@ -889,6 +889,35 @@ WITH RECURSIVE x(n) AS (SELECT n FROM x) WITH RECURSIVE x(n) AS (SELECT n FROM x UNION ALL SELECT 1) SELECT * FROM x; +-- allow this, because we historically have +WITH RECURSIVE x(n) AS ( + WITH x1 AS (SELECT 1 AS n) + SELECT 0 + UNION + SELECT * FROM x1) + SELECT * FROM x; + +-- but this should be rejected +WITH RECURSIVE x(n) AS ( + WITH x1 AS (SELECT 1 FROM x) + SELECT 0 + UNION + SELECT * FROM x1) + SELECT * FROM x; + +-- and this too +WITH RECURSIVE x(n) AS ( + (WITH x1 AS (SELECT 1 FROM x) SELECT * FROM x1) + UNION + SELECT 0) + SELECT * FROM x; + +-- and this +WITH RECURSIVE x(n) AS ( + SELECT 0 UNION SELECT 1 + ORDER BY (SELECT n FROM x)) + SELECT * FROM x; + CREATE TEMPORARY TABLE y (a INTEGER); INSERT INTO y SELECT generate_series(1, 10); diff --git a/src/test/ssl/t/SSL/Server.pm b/src/test/ssl/t/SSL/Server.pm index 2c5c0552227..ee113569369 100644 --- a/src/test/ssl/t/SSL/Server.pm +++ b/src/test/ssl/t/SSL/Server.pm @@ -70,6 +70,12 @@ use PostgreSQL::Test::Utils; use Test::More; use SSL::Backend::OpenSSL; +# Force SSL tests nodes to begin in TCP mode. They won't work in Unix Socket +# mode and this way they will find a port to run on in a more robust way. +# Use an INIT block so it runs after the BEGIN block in Utils.pm. + +INIT { $PostgreSQL::Test::Utils::use_unix_sockets = 0; } + =pod =head1 METHODS diff --git a/src/test/subscription/t/029_on_error.pl b/src/test/subscription/t/029_on_error.pl index 7d6fb66985a..4d83b461c2d 100644 --- a/src/test/subscription/t/029_on_error.pl +++ b/src/test/subscription/t/029_on_error.pl @@ -26,10 +26,11 @@ sub test_skip_lsn "SELECT subenabled = FALSE FROM pg_subscription WHERE subname = 'sub'" ); - # Get the finish LSN of the error transaction. + # Get the finish LSN of the error transaction, mapping the expected + # ERROR with its CONTEXT when retrieving this information. my $contents = slurp_file($node_subscriber->logfile, $offset); $contents =~ - qr/processing remote data for replication origin \"pg_\d+\" during message type "INSERT" for replication target relation "public.tbl" in transaction \d+, finished at ([[:xdigit:]]+\/[[:xdigit:]]+)/ + qr/duplicate key value violates unique constraint "tbl_pkey".*\n.*DETAIL:.*\n.*CONTEXT:.* for replication target relation "public.tbl" in transaction \d+, finished at ([[:xdigit:]]+\/[[:xdigit:]]+)/m or die "could not get error-LSN"; my $lsn = $1; diff --git a/src/tools/ci/ci_macports_packages.sh b/src/tools/ci/ci_macports_packages.sh index 4bc594a31d1..5b5fad97aca 100755 --- a/src/tools/ci/ci_macports_packages.sh +++ b/src/tools/ci/ci_macports_packages.sh @@ -13,7 +13,16 @@ set -e packages="$@" -macports_url="https://github.com/macports/macports-base/releases/download/v2.8.1/MacPorts-2.8.1-13-Ventura.pkg" +macos_major_version="` sw_vers -productVersion | sed 's/\..*//' `" +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_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" + cache_dmg="macports.hfs.dmg" if [ "$CIRRUS_CI" != "true" ]; then diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 711fae853f8..2a4c4f35566 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -329,6 +329,7 @@ sub GenerateFiles HAVE_SOCKLEN_T => 1, HAVE_SPINLOCKS => 1, HAVE_SSL_CTX_SET_CERT_CB => undef, + HAVE_SSL_CTX_SET_NUM_TICKETS => undef, HAVE_STDBOOL_H => 1, HAVE_STDINT_H => 1, HAVE_STDLIB_H => 1, @@ -495,6 +496,7 @@ sub GenerateFiles || ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '1')) { $define{HAVE_X509_GET_SIGNATURE_INFO} = 1; + $define{HAVE_SSL_CTX_SET_NUM_TICKETS} = 1; } # Symbols needed with OpenSSL 1.1.0 and above. diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index 5a9353c493c..4791528e140 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -3547,6 +3547,9 @@ pg_md5_ctx pg_on_exit_callback pg_prng_state pg_re_flags +pg_regex_t +pg_regmatch_t +pg_regoff_t pg_saslprep_rc pg_sha1_ctx pg_sha224_ctx @@ -3769,6 +3772,7 @@ string substitute_actual_parameters_context substitute_actual_srf_parameters_context substitute_phv_relids_context +subxids_array_status symbol tablespaceinfo teSection diff --git a/src/tools/testwrap b/src/tools/testwrap index 7a64fe76a2d..68976fb2f5d 100755 --- a/src/tools/testwrap +++ b/src/tools/testwrap @@ -36,12 +36,22 @@ env_dict = {**os.environ, 'TESTDATADIR': os.path.join(testdir, 'data'), 'TESTLOGDIR': os.path.join(testdir, 'log')} -sp = subprocess.run(args.test_command, env=env_dict) - -if sp.returncode == 0: +sp = subprocess.Popen(args.test_command, env=env_dict, stdout=subprocess.PIPE) +# Meson categorizes a passing TODO test point as bad +# (https://github.com/mesonbuild/meson/issues/13183). Remove the TODO +# directive, so Meson computes the file result like Perl does. This could +# have the side effect of delaying stdout lines relative to stderr. That +# doesn't affect the log file, and the TAP protocol uses stdout only. +for line in sp.stdout: + if line.startswith(b'ok '): + line = line.replace(b' # TODO ', b' # testwrap-overridden-TODO ', 1) + sys.stdout.buffer.write(line) +returncode = sp.wait() + +if returncode == 0: print('# test succeeded') open(os.path.join(testdir, 'test.success'), 'x') else: print('# test failed') open(os.path.join(testdir, 'test.fail'), 'x') -sys.exit(sp.returncode) +sys.exit(returncode)